MSSQL 对比数据类型text和varchar / navchar(xxx)

今天在查询数据表中的一个字段,数据类型为TEXT。

SELECT TOP 10 * FROM Table1
  WHERE TEXT1 = ‘12321’;

错误提示:数据类型 text 和 varchar 在 equal to 运算符中不兼容。

C#中不管是TEXT或VARCHAR还有NAVCHAR都会对应String类型,但在数据库中却不能直接对他们直接进行比较。

修改SQL语句如下:

使用CONVERT(字段类型, 字段名称)

SELECT TOP 10 * FROM table1
  WHERE CONVERT(VARCHAR, col1) = ‘12321‘;

也可以使用LIKE

SELECT TOP 10 * FROM table1
  WHERE col1 LIKE ‘12321‘;

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。