我想在SQL数据库中找到相同数字的组合,如0000
或000/000/0
或11111
或99999
等。
有没有办法找到这些值没有硬编码?
我现在正在做的是:
select * from XXXX where value = '000/000/0'
一个简单的解决方案是删除字符串的第一个字符的所有实例,并检查结果是否为空字符串:
select *
from t
where replace(replace(str, '/', ''), substring(str, 1, 1), '') = ''
试穿一下:
SELECT *
FROM XXXX
WHERE value IN ('000/000/0',11111,99999,0000)
如果需要用应用程序或其他第三方填充列值。可以像下面这样使用存储过程:
CREATE PROC dbo.usp_ListOfNumbers @NumberValues Nvarchar(200)
as
BEGIN
SELECT *
FROM XXXX
WHERE value = @NumberValues
END
for call只是使用
EXEC dbo.usp_ListOfNumbers @NumberValues = '000/000/0'