我使用了coldfusion Find()
函数来检查值是否包含M(大写)字母。我想在SQL查询中执行此操作而不是coldfusion。我找到的解决方案很少,但我不确定这是否能解决大写问题。此外,我不确定最佳功能是什么,因为我有大约80列,而且我不想放慢查询速度。以下是我到目前为止的情况:
CASE
WHEN CHARINDEX ( 'M', column1) > 0 THEN 'T'
ELSE 'F'
END AS column1
如果有人了解此功能或更好的解决方案,请告诉我们。谢谢。
答案 0 :(得分:2)
默认情况下,SQL Server 不区分大小写。如果要进行区分大小写的搜索,则需要使用区分大小写的排序规则。
用于区分大小写的排序规则:COLLATE Latin1_General_CS_AS
以下是您的查询,已调整为区分大小写的搜索:
CASE
WHEN CHARINDEX ( 'M', column1 COLLATE Latin1_General_CS_AS) > 0 THEN 'T'
ELSE 'F'
END AS column1