2017-01-27 5 views
0

TEXTをVARCHARに変換すると、変換された値が30文字で静かに切り捨てられることに気付きました。TEXTをVARCHARに変換する

CREATE TABLE foo (x TEXT) 
-- insert a string that's 50 characters long 
INSERT INTO foo(x) VALUES('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx') 
SELECT CHAR_LENGTH(CONVERT(VARCHAR, x)) FROM foo -- retuns 30 
SELECT CHAR_LENGTH(CONVERT(VARCHAR(3000), x)) FROM foo -- returns 50 

私の質問は以下のとおりです。その制限は、/から発信文書化され

  1. 任意の高い値を追加しなくても変換を行うための慣習的な方法は何ですか?あなたが作成しようとすると

答えて

0

は、あなたがより良い常にvarchar型の長さを指定することができますし、varchar型の最大長は、Sybase ASEで15.7と16.0 16384

である(上述した第2 SELECT文のような)長いvarchar型、次を得るよエラー: 長さや精度仕様16385が16384に1の範囲内ではありません

ティム

関連する問題