我正在寻找快速的方法来查看表中包含任何空格的所有行。
对于初学者,我尝试通过此查询查看哪些行以空格开头:
select *
from MyTable
where ColumnName like ' %'
但是我得到了 0 个结果,尽管我可以看到有带空格的行。
尝试一下:
在 SQL Server 中你可以使用这个:
SELECT * FROM MYTABLE
WHERE CHARINDEX(' ',ColumnName) > 0;
如果您使用的是 Oracle,您可以使用这个:
SELECT * FROM MYTABLE
WHERE INSTR(ColumnName,' ') > 0;
本质上,在此查询中,它从列值中查找包含第一个空格的字符位置,当它找到其中的第一个空格时,索引值应大于 1,并且应基于此显示所有记录。
似乎这些空格包含除 char(10) 之外的其他特殊字符。
试试这个,
select *
from MyTable
where patindex('%[^A-Z0-9]%',ColumnName )>0
首先确定 ColumnName 的有效值。然后尝试
PATINDEX
并相应地更改正则表达式。
尝试再添加一个“%”,这可能会解决你的问题。
select * from MyTable where ColumnName like '% %'
从表中选择*,其中trim(column_name) IS NULL