SQL Server:查找包含空格的行

问题描述 投票:0回答:4

我正在寻找快速的方法来查看表中包含任何空格的所有行。

对于初学者,我尝试通过此查询查看哪些行以空格开头:

select * 
from MyTable 
where ColumnName like ' %'

但是我得到了 0 个结果,尽管我可以看到有带空格的行。

sql sql-server ssms
4个回答
10
投票

尝试一下:

在 SQL Server 中你可以使用这个:

SELECT * FROM MYTABLE 
WHERE CHARINDEX(' ',ColumnName) > 0;

如果您使用的是 Oracle,您可以使用这个:

SELECT * FROM MYTABLE 
WHERE INSTR(ColumnName,' ') > 0;

本质上,在此查询中,它从列值中查找包含第一个空格的字符位置,当它找到其中的第一个空格时,索引值应大于 1,并且应基于此显示所有记录。


3
投票

似乎这些空格包含除 char(10) 之外的其他特殊字符。

试试这个,

select * 
from MyTable 
where patindex('%[^A-Z0-9]%',ColumnName )>0

首先确定 ColumnName 的有效值。然后尝试

PATINDEX
并相应地更改正则表达式。


1
投票

尝试再添加一个“%”,这可能会解决你的问题。

select *  from MyTable  where ColumnName like '% %'


0
投票

从表中选择*,其中trim(column_name) IS NULL

© www.soinside.com 2019 - 2024. All rights reserved.