首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查SQL server中的Is not Null和非空字符串?

如何检查SQL server中的Is not Null和非空字符串?
EN

Stack Overflow用户
提问于 2011-12-29 03:13:21
回答 8查看 652.7K关注 0票数 273

如何在SQL Server WHERE条件中检查列是否不为null且不是空字符串('')?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-12-29 03:15:11

如果您只想将"“作为空字符串进行匹配

代码语言:javascript
运行
复制
WHERE DATALENGTH(COLUMN) > 0 

如果要将完全由空格组成的任何字符串计为空

代码语言:javascript
运行
复制
WHERE COLUMN <> '' 

当在WHERE子句中使用时,这两种方法都不会返回NULL值。因为对于这些,NULL将评估为UNKNOWN,而不是TRUE

代码语言:javascript
运行
复制
CREATE TABLE T 
  ( 
     C VARCHAR(10) 
  ); 

INSERT INTO T 
VALUES      ('A'), 
            (''),
            ('    '), 
            (NULL); 

SELECT * 
FROM   T 
WHERE  C <> ''

仅返回单行A。也就是说,包含NULL、空字符串或完全由空格组成的字符串的行都将被此查询排除。

SQL Fiddle

票数 401
EN

Stack Overflow用户

发布于 2013-01-16 22:58:35

Coalesce会将空值合并为默认值:

代码语言:javascript
运行
复制
COALESCE (fieldName, '') <> ''
票数 16
EN

Stack Overflow用户

发布于 2017-10-17 16:33:35

以基本的方式

代码语言:javascript
运行
复制
SELECT *
FROM [TableName]
WHERE column_name!='' AND column_name IS NOT NULL
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8660203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档