在SQL中,如果破折号后有超过3个字符,如何排除记录
在SQL中,如果破折号后有超过2个字符,如何排除记录 示例我只想返回与以下内容匹配的记录 AA00000-0 但该表也有类似AA0000-000、AA0000000-00的记录 我只需要返回破折号后面有一个位数的记录,如“%-[0-9]” 填充程序假定SQL Server:在SQL中,如果破折号后有超过3个字符,如何排除记录,sql,Sql,在SQL中,如果破折号后有超过2个字符,如何排除记录 示例我只想返回与以下内容匹配的记录 AA00000-0 但该表也有类似AA0000-000、AA0000000-00的记录 我只需要返回破折号后面有一个位数的记录,如“%-[0-9]” 填充程序假定SQL Server: SELECT * FROM records WHERE id NOT LIKE '%-[0-9][0-9]%' 使用like语句 字段,如“%-[0-9]”您使用的是什么数据库 在MSSQL中,您可以:其中fld不像前面提
SELECT * FROM records WHERE id NOT LIKE '%-[0-9][0-9]%'
使用like语句
字段,如“%-[0-9]”
您使用的是什么数据库
在MSSQL中,您可以:
其中fld不像前面提到的“%-\code>,数字匹配在数据库中是不一致的
对于SQL Server,您可以执行以下操作:
类似“%-[0-9]”的MyColumn
(将在破折号后只显示一个数字)
数据库不可知:
MyColumn-LIKE“%-\u”
(将匹配破折号后的数字或1个字母,但这可能足够了)感谢所有的答案,我使用的解决方案是
Like '%-_'
对于哪个数据库,单下划线表示破折号后的第一个数字?跨数据库不支持字符串比较…这将在破折号后提供两个字符。请详细说明。它应该排除破折号后面有2个或更多数字的记录。+1/2表示不可知,+1/2表示将“破折号后面的单个数字”解释为破折号后面可能包含的单个字符。