我需要搜索一个像1234-abc
. 数据库没有这个特定的值,但有另一个值1234
。现在的问题是当我写我的查询时
SELECT * FROM words WHERE tval='1234-abc'
它不是获取空记录集,而是获取1234
值,它似乎忽略了 之后的-
任何内容,知道发生了什么吗?
我需要搜索一个像1234-abc
. 数据库没有这个特定的值,但有另一个值1234
。现在的问题是当我写我的查询时
SELECT * FROM words WHERE tval='1234-abc'
它不是获取空记录集,而是获取1234
值,它似乎忽略了 之后的-
任何内容,知道发生了什么吗?
现有表达式将字符串表达式隐式转换为数字 - 您需要将数字显式转换为字符 strng,如下所示:
SELECT tval FROM words WHERE convert(tval,char(20))='1223-1ABCDE';
SQLFiddle在这里。