如何在LIKE
语句中使用CASE
,我有这个示例脚本但不起作用。我使用MS SQL 2008
DECLARE
@DataBaseName sysname,
@Message char(255)
SET @DataBaseName = 'DBa';
SET @Message =
CASE @DataBaseName
WHEN LIKE 'DBa'
THEN 'Valid name'
ELSE 'INVALID name'
END
Print @Message;
答案 0 :(得分:9)
使用LIKE
我认为你需要使用CASE
语句的这种形式(“搜索”形式)。 “简单”形式allows only an equality check。
SET @Message =
CASE
WHEN @DataBaseName LIKE 'DBa' /*As Yves points out in the comments
should this be
WHEN @DataBaseName LIKE 'DBa%' COLLATE SQL_Latin1_General_CP1_CS_AS */
THEN 'Valid name'
ELSE 'INVALID name'
END