我对T-SQL有疑问。我尝试约束我的桌子。顺便说一句,我想使用BETWEEN和LIKE命令。我尝试了一下,但是没有用。
SELECT * FROM
dbo.GrnStock
WHERE
StockNo BETWEEN LIKE '%823%' AND LIKE '%829%'
StockNo是NVARCHAR,其值类似于:
T000578
X000825
我该如何解决?
答案 0 :(得分:1)
如果StockNo是varchar或nvarchar,则可以从中获取数字部分。
然后,您将可以使用BETWEEN
比较范围内的数字。
对于像“ T000578”这样的字符串,6位数字在结尾。
然后您可以这样做:
SELECT *
FROM dbo.GrnStock
WHERE TRY_CAST(RIGHT(StockNo, 6) AS INT) BETWEEN 823 AND 829;
但是对于该范围,可以仅使用LIKE
SELECT *
FROM dbo.GrnStock
WHERE StockNo LIKE '%00082[3-9]';