在列值SQL 2008中查找字符串?

时间:2017-07-18 18:58:30

标签: sql sql-server charindex

我使用了coldfusion Find()函数来检查值是否包含M(大写)字母。我想在SQL查询中执行此操作而不是coldfusion。我找到的解决方案很少,但我不确定这是否能解决大写问题。此外,我不确定最佳功能是什么,因为我有大约80列,而且我不想放慢查询速度。以下是我到目前为止的情况:

CASE
    WHEN CHARINDEX ( 'M', column1) > 0 THEN 'T'
        ELSE 'F'
    END AS column1

如果有人了解此功能或更好的解决方案,请告诉我们。谢谢。

1 个答案:

答案 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