加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – sql server – 如何在列中找到带空格的行

发布时间:2020-12-15 04:23:06 所属栏目:百科 来源:网络整理
导读:我想做点什么 select * from X where string.IsNullOrWhiteSpace(a) 列a不是NULL 那么T-SQL中的C#string.IsNullOrWhiteSpace等同于获取列a只有空格的所有行(多个空格或制表符的组合)? 另外,我宁愿避免使用clr功能. 解决方法 你可以试试这个: select * from
我想做点什么
select * from X where string.IsNullOrWhiteSpace(a)

列a不是NULL

那么T-SQL中的C#string.IsNullOrWhiteSpace等同于获取列a只有空格的所有行(多个空格或制表符的组合)?

另外,我宁愿避免使用clr功能.

解决方法

你可以试试这个:
select * 
from yourtable
where ltrim(rtrim(yourcolumn)) = ''

这个想法是,如果修剪值留下一个空字符串,那么你首先拥有的只是空格.

你也可以这样做:

select *
from yourtable
where yourcolumn like ' '

请注意,我已经在SQL Server 2008 R2上测试了第二个查询,并且在@ gunr2171的评论中说明它在2014年不起作用

最后,如果您有制表符,回车符或换行符,则上述操作无效.你可以做的是首先用空字符串替换这些值,然后使用第一个查询,如下所示:

select * 
from yourtable
where ltrim(rtrim(replace(replace(replace(yourcolumn,char(9),''),char(10),char(13),''))) = ''

char(9),char(10)和char(13)分别用于制表符,换行符和回车符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读