请问有谁解决过在SQL2008使用Char( Value )当Value > 128时为输出NULL值?

lis_mode 2013-01-19 04:51:25
在SQL2008上使用Char( Value )当Value > 128时为输出NULL值,在SQL20005,2000都不会为NULL,难道是数据库字符集的设置问题?求解
...全文
164 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lis_mode 2013-01-21
  • 打赏
  • 举报
回复
4L我在SQL2005, SQL2008查询分析器上执行以下语句返回值是 SELECT ASCII( CHAR(129) ) SQL 2005, 2000 执行返回值: 129 SQL 2008 执行返回值: NULL
yiyishuitian 2013-01-20
  • 打赏
  • 举报
回复
引用 3 楼 lis_mode 的回复:
在SQL2005或2000上CHAR(129)是可以识别的,查询分析器显示的是“?”, SQL2008上执行就是NULL。 用了一条测试语句 SELECT ASCII( CHAR(129) ) 返回值是 129 在SQL2005、2000是可以转换回来的,2008则不行,数据库都是使用Chinese_PRC_CI_AS。
2008 没有问题呀,还是NULL SELECT ASCII(CHAR(129))
lis_mode 2013-01-20
  • 打赏
  • 举报
回复
在SQL2005或2000上CHAR(129)是可以识别的,查询分析器显示的是“?”, SQL2008上执行就是NULL。 用了一条测试语句 SELECT ASCII( CHAR(129) ) 返回值是 129 在SQL2005、2000是可以转换回来的,2008则不行,数据库都是使用Chinese_PRC_CI_AS。
Vidor 2013-01-19
  • 打赏
  • 举报
回复
数据库的排序规则该为Latin1_General_*就可以,不过没必要,可以用nchar,Unicode前256个和Latin1是兼容的。
szm341 2013-01-19
  • 打赏
  • 举报
回复
ascii码表就0-127,共128个,再多就没有了,输出null也正常啊, 05及2000输出什么呢?

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧