求一个case语句(T-SQL)

来源:百度知道 编辑:UC知道 时间:2024/07/08 01:35:37
我在存储过程中有以下的代码:
...
IF EXISTS (SELECT * FROM DEVICETOFILIALE WHERE CODE = @FILIALECODE)
SELECT @MODULEID = SMSDEVICEID FROM DEVICETOFILIALE WHERE CODE = @FILIALECODE
SELECT CASE @MOBILETYPE
WHEN 'YD ' THEN 'AND SIMCARDTYPE = 1 '
WHEN 'LT ' THEN 'AND SIMCARDTYPE = 2 '
END SELECT
ELSE
SELECT @MODULEID = ' '
...
目的是判断一下@MOBILETYPE,根据他的值不同在查询语句中加上不同的查询条件,上面这段代码应该怎么写?

IF EXISTS (SELECT * FROM DEVICETOFILIALE WHERE CODE = @FILIALECODE)
SELECT @MODULEID = SMSDEVICEID FROM DEVICETOFILIALE WHERE CODE = @FILIALECODE
AND SIMCARDTYPE = (CASE @MOBILETYPE WHEN 'YD ' THEN 1 WHEN 'LT ' THEN 2 END)
ELSE
SELECT @MODULEID = ' '



IF EXISTS (SELECT 1 FROM DEVICETOFILIALE WHERE CODE = @FILIALECODE)
BEGIN
IF @MOBILETYPE='YD '
SELECT @MODULEID = SMSDEVICEID FROM DEVICETOFILIALE WHERE CODE = @FILIALECODE AND SIMCARDTYPE = 1
ELSE
IF @MOBILETYPE='LT '
SELECT @MODULEID = SMSDEVICEID FROM DEVICETOFILIALE WHERE CODE = @FILIALECODE AND SIMCARDTYPE = 2
END
ELSE
SELECT @MODULEID = ' '

这是什么语言中用的??