我在sql Server 2008 R2的表中插入特殊字符时遇到问题.
关键是,当我试图在表格中插入一个带有字符º的字符串(例如3ELBOW90ºLONGRADIUS)时,它显示如下:3 ELBOW90 LONGRADIUS,当我试图选择所有包含字符的行 结果为null.
关键是,当我试图在表格中插入一个带有字符º的字符串(例如3ELBOW90ºLONGRADIUS)时,它显示如下:3 ELBOW90 LONGRADIUS,当我试图选择所有包含字符的行 结果为null.
我尝试使用ASCII进行选择:
select * from itemcode,其中描述如’%’char(63)’%’
并使其知道该符号的ASCII为63:
选择ASCII(‘ ‘)
但这不起作用.
我必须做什么来选择具有该角色的所有行,以及如何使sql识别角色?
谢谢
解决方法
degree symbol
U+00B0 ° degree sign (HTML: ° °)
不是ASCII字符,通常需要NVARCHAR列和N”字符串文字. (除了支持符号的代码页等)
63是question mark的代码,它是ASCII中反问号的后备:
select UNICODE('�') => 63 select UNICODE(N'�') => 65533
其中65533是用于显示无法转换或显示的字符的Unicode Replacement Character.