c# - sql server - 我如何在列中查找带有空格的行

标签 c# sql-server tsql whitespace

我想做类似的事情

select * from X where string.IsNullOrWhiteSpace(a)

a 列是 NOT NULL

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

此外,我宁愿避免使用 功能。

最佳答案

你可以试试这个:

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/

相关文章:

sql-server - lu.[TableName] 而不是 dbo.[TableName]?

sql - 在没有游标的 SQL Server 中循环

sql - 您如何在运算符之间使用范围?

c# - 在 View 中将 DateTimeOffset 显示为正常日期格式

c# - 如何学习线程安全的c#编程?

c# - 在 Visual Studio 2008 中为 SQL 2005 HTTP 端点 Web 服务添加 SOAP header

sql - 如何在T-SQL中声明可为空的局部变量?

sql - T-SQL 中的 Split 函数等效吗?

c# - 适用于 Windows 应用程序 (C++/C#) 的屏幕键盘,具有触摸屏功能

c# - 使用 MongoDB 提供程序过滤多个参数