SELECT 字段1 FROM 表 where 字段1 like '%⒍'
可以查询到一个结果为“199⒍” 实际上有上万条“6结尾”的结果
SELECT 字段1 FROM 表 where 字段1 not like '%[0-9]'
查不到任何结果
用更新语句将此字段转换为int时出错,提示为:
消息 245,级别 16,状态 1,第 6 行
在将 nvarchar 值 '199⒍' 转换成数据类型 int 时失败。
如果程序认为⒍就是6,那转换为int时也不应提示出错,查询⒍结尾会出来上万条包含6结尾结果,否则,字段1 not like '%[0-9]' 时,能查询出199⒍这个值,但现在却非如此,请大大们指教,如何才能将此类数字序号转换为数字,注意⒍非6. 前者是一个字符,后者是占二个字符。
能解决才加够60分,谢谢。
------解决思路----------------------
自己写个function,在里面自己截字符判断后,转换好返回,然后外面再用强转int
------解决思路----------------------
SELECT 字段1 FROM 表 where 字段1 like '%[^0-9]%'
SELECT 字段1 FROM 表 where ISNUMERIC(字段1) = 0
用上面之一查找非数字,然后按#1的方式把字符替换掉。