Lar*_*mie 7 sql-server-2008 sql-server collation
有没有办法根据自变量或列值设置字符串比较的排序规则?类似于
SELECT COL1, col2
FROM [TABLE]
WHERE COL3 LIKE '%string%'
COLLATE CASE CASE_SENSITIVE
WHEN 1 THEN SQL_Latin1_General_CP1_CS_AS
ELSE SQL_Latin1_General_CP1_CI_AS
END
Run Code Online (Sandbox Code Playgroud)
或者
DECLARE @collation AS VARCHAR(50)
SET @collation = 'SQL_Latin1_General_CP1_CI_AS'
SELECT COL1, col2
FROM [TABLE]
WHERE COL3 LIKE '%string%'
COLLATE @collation
Run Code Online (Sandbox Code Playgroud)
沿着这个思路,有 2 个 where 条件。
一个将成为'%string%' LIKE '%string%'
这永远是真的
WHERE
CASE WHEN @casesenstive = 1 THEN COL3 ELSE '%string%' END
COLLATE SQL_Latin1_General_CP1_CS_AS LIKE '%string%'
AND
CASE WHEN @casesenstive = 0 THEN COL3 ELSE '%string%' END
COLLATE SQL_Latin1_General_CP1_CI_AS LIKE '%string%'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
855 次 |
最近记录: |