Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sybase 将文本转换为VARCHAR_Sybase_Sap Ase - Fatal编程技术网

Sybase 将文本转换为VARCHAR

Sybase 将文本转换为VARCHAR,sybase,sap-ase,Sybase,Sap Ase,我注意到,当将文本转换为VARCHAR时,转换后的值被无声地剪裁为30个字符 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 3

我注意到,当将文本转换为VARCHAR时,转换后的值被无声地剪裁为30个字符

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
我的问题是:

  • 该限额记录/来源于何处
  • 在不必添加任意高的值的情况下进行转换的惯用方法是什么?(与上面第二条
    选择
    语句相同)

  • 您最好总是指定varchar长度,而varchar的最大长度在Sybase ASE 15.7和16.0 16384中

    如果尝试创建更长的varchar,将出现以下错误: 长度或精度规格16385不在1到16384的范围内

    提姆