在db中,我有像这样的字符串
324/23/235 -> all numbers and slashes
和
fsg/23/234 -> NOT all numbers and slashes
现在,当我处于设计视图时,此列的标准是
>"0"
我怎样才能添加到查找包含所有数字和斜杠的字符串?
答案 0 :(得分:2)
在“设计视图”中,我将此作为我的文本列的标准。
Not Like "*[!0-9/]*"
从设计切换到SQL视图显示此语句。
SELECT tblFoo.some_text
FROM tblFoo
WHERE (((tblFoo.some_text) Not Like "*[!0-9/]*"));
要理解Like
模式,首先要考虑这个......
"*[0-9]*"
匹配字符范围0到9中包含的任何单个字符。要匹配这些数字或斜杠,请在范围模式中包含斜杠...
"*[0-9/]*"
然而,这些并不是你所关注的角色。您希望定位范围中包含的字符以外的字符。因此,您可以在第一个位置使用!
来“否定”范围。
"*[!0-9/]*"
那么Like "*[!0-9/]*"
会给你的行,其文本字段字符串值包含0到9或/以外的任何字符。但是你想要相反的 - 那些不包含任何其他角色的 - 所以包括Not
来制定最终标准Not Like "*[!0-9/]*"
答案 1 :(得分:1)
Replace函数将删除斜杠并替换为空格。如果剩余字符可以成功转换为数字,则IsNumeric将返回布尔值= True。
Select * from [TableWithStrings] as t
where IsNumeric(Replace(t.[FieldWithTheseStrings], "/", ""))=True;
这些功能可用于代码和视图。