我想做类似的事情
select * from X where string.IsNullOrWhiteSpace(a)
a 列是 NOT 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)
分别用于制表符、换行符和回车符。
关于c# - sql server - 我如何在列中查找带有空格的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24146631/