我有一个 MS SQL 查询正在选择一个字段,但由于某种原因它正在切断257个字符的文本。
使用MSSQL和PHP检索结果是否存在某种默认切断?
对于为什么会这样,我真的很无能为力。非常感谢任何指导字段类型为“char”
以下是来自phpinfo()
的MS SQL配置的屏幕截图
alt text http://www.aaacoloautosource.com/mssql_config.png
可能是mssql.textlimit
或mssql.textsize
值吗?
答案 0 :(得分:1)
不知何故,数据类型是“char”,显然限制为255个字符。但是DB存储的字符数超过255个。
由于某种原因,将字段转换为TEXT非常有效。
SELECT CONVERT(TEXT,fld_name) FROM TABLE_NAME
答案 1 :(得分:1)
问题很可能是您使用的是TDS协议版本4.2。您应该通过在/etc/freetds.conf中设置它来升级到至少7.0:
tds version = 7.0
版本4.2的限制是:
有关详细信息,请参阅http://freetds.schemamania.org/userguide/choosingtdsprotocol.htm
答案 2 :(得分:-1)
来自mysql manual:
CHAR列的长度固定为创建表时声明的长度。长度可以是0到255之间的任何值。
在我的MYSQL版本中,根据上述规范,我无法将char字段设置为超过255个字符。
你有什么理由需要使用char吗?请尝试使用text或blob或varchar。