一个字段Remark的数据类型设置先设置为varcharr(255),后来考虑到扩展性需要将其定义为TEXT类型,但是SQL 语句报错。
SQL 语句:
SELECT * FROM TABLE WHERE ISNULL(Remark,'')<>''
报错信息:数据类型 text 和 varchar 在 not equal to 运算符中不兼容。
解决办法:使用datalength(字段名)函数
SELECT * FROM TABLE WHERE ISNULL(datalength (Remark),0) >0
注释:1.DATALENGTH 对 varchar、varbinary、text、image、nvarchar 和 ntext 数据类型特别有用,因为这些数据类型可以存储可变长度数据。
2. NULL 的 DATALENGTH 的结果是 NULL。
相关文章
- sql server查询表结构(字段名,数据类型,长度,描述,是否允许为空,是否为主键)
- 求解!C#中关于SQL SERVER2008数据库中text类型的读取和写入
- 在sql server中使用空(NULL)int数据类型
- Microsoft SQL Server 2005/2008:XML与text / varchar数据类型
- SQL Server:如何使用modify()来更改具有TEXT数据类型的列中的XML数据
- 处理SQL Server中的空GUID和强类型数据集
- Oracle数据库里面查询字符串类型的字段不为空和为空的SQL语句:
- sql server查询表结构(字段名,数据类型,长度,描述,是否允许为空,是否为主键)
- Oracle数据库里面查询字符串类型的字段不为空和为空的SQL语句:
- 使用sql查询mysql/oracle/sql server/gp数据库中指定表的字段信息(字段名/字段类型/字段长度/是否是主键/是否为空)