-1

您好,我有下表:GAS_cards

它的一列是

cardCode  (varchar(32), not null)

我需要创建一个查询,我需要在其中找到一个以特定值结尾的卡片代码,这是一个有效的示例

DECLARE @cardDigits VARCHAR(MAX)
SET @cardDigits = 00000000 --It Works

SELECT * 
FROM GAS_Cards C 
WHERE C.cardCode LIKE '%' + @cardDigits  

但是@cardDigits可以有这样的值

SET @cardDigits = '000AN205'

所以当我尝试这个时,它不起作用

DECLARE @cardDigits VARCHAR(MAX)
SET @cardDigits = '000AN205'

SELECT * 
FROM GAS_Cards C 
WHERE C.cardCode LIKE '%' + @cardDigits  

我做错了什么还是有其他方法?

我已经尝试过了,但也没有用

WHERE CAST(RIGHT(C.cardCode, 8) AS VARCHAR) = @cardDigits 
4

1 回答 1

1

试试这个:</p>

DECLARE @cardDigits VARCHAR(MAX)
SET @cardDigits = '%000AN205%'

SELECT * 
FROM GAS_Cards C 
WHERE C.cardCode LIKE  @cardDigits  
于 2013-06-28T21:30:40.377 回答