如何只使用数字和斜杠获得结果

时间:2013-12-09 04:56:54

标签: ms-access

在db中,我有像这样的字符串

324/23/235  ->  all numbers and slashes

fsg/23/234  ->  NOT all numbers and slashes

现在,当我处于设计视图时,此列的标准是

>"0"

我怎样才能添加到查找包含所有数字和斜杠的字符串?

2 个答案:

答案 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;

这些功能可用于代码和视图。