我的SQL表中的一列有“〜”作为字符串的一部分
我想选择所有在两边都有〜字符串但不以〜结尾的记录
我曾尝试使用LIKE语句,例如
SELECT TOP (1000)
[PNO]
FROM [MYTABLE] where PNO like '%~%'
该代码正确地返回所有带有〜的记录
结果是:
C799~
C799~001~6907
E066~
E066~001~8558
但是我想修改查询,使其只返回
C799~001~6907
E066~001~8558
谢谢。
最佳答案
在SQL Server中,可以使用:
SELECT TOP (1000) [PNO]
FROM [MYTABLE]
WHERE PNO like '%~%[^~]'
在其他数据库中,您可能会使用正则表达式,例如''〜。* [^〜] $'。
作为最后的途径,可以使用
like
和not like
做到这一点:WHERE PNO LIKE '%~%' AND PNO NOT LIKE '%~';
关于sql - 使用LIKE获取仅具有特定字符的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56496114/