我想要做的是在我们的建筑物内获得一系列立方体数字。问题是多维数据集编号数据类型是nvarchar。我知道它弄乱了我,但我无法控制数据库,我们所有的立方体数字前面都有几个字符,例如AA-1到AA-255(因此是nvarchar)。我的问题是为什么以下工作:
Select
PCName,
CubeNumer
From
thisTable
where
CubeNumber like 'AA-[1-9]'
以上将给出AA-1至AA-9的PCNames,但是当我执行以下操作时:
...
where CubeNumber like 'AA-[1-20]'
它给了我AA-1和AA-2。我看到那里的1和2,我得到它没有看到它20。那么是否可以使该范围工作,或1-9旁边的任何范围使用该语法?
答案 0 :(得分:1)
正则表达式是一个字符串比较,因此将寻找特定的字符串。您的模式' AA- [1-20]'正在寻找以AA-开头,然后是数字1到2或0的任何东西。正确的方法是做“AA- [0-9] *'
如果您的多维数据集始终以AA-开头,您还可以执行替换,然后执行转换以将多维数据集编号转换为实际数字,然后执行BETWEEN查询。
npm cache clean