在列值 SQL 2008 中查找字符串?
Find string in column value SQL 2008?
我使用了 coldfusion Find()
函数来检查值是否包含 M(大写)字母。我想在 SQL 查询中执行此操作而不是 coldfusion。我发现的解决方案很少,但我不确定这是否会处理大写字母。此外,我不确定最好使用什么函数,因为我有大约 80 列并且我不想减慢查询速度。这是我目前所拥有的:
CASE
WHEN CHARINDEX ( 'M', column1) > 0 THEN 'T'
ELSE 'F'
END AS column1
如果有人知道更多关于此功能或更好的解决方案,请告诉我。谢谢。
SQL 服务器默认 不 区分大小写。如果您想进行区分大小写的搜索,您将需要使用区分大小写的排序规则。
Collation to be used for case-sensitivity: COLLATE Latin1_General_CS_AS
这是您的查询,已调整为区分大小写的搜索:
CASE
WHEN CHARINDEX ( 'M', column1 COLLATE Latin1_General_CS_AS) > 0 THEN 'T'
ELSE 'F'
END AS column1
我使用了 coldfusion Find()
函数来检查值是否包含 M(大写)字母。我想在 SQL 查询中执行此操作而不是 coldfusion。我发现的解决方案很少,但我不确定这是否会处理大写字母。此外,我不确定最好使用什么函数,因为我有大约 80 列并且我不想减慢查询速度。这是我目前所拥有的:
CASE
WHEN CHARINDEX ( 'M', column1) > 0 THEN 'T'
ELSE 'F'
END AS column1
如果有人知道更多关于此功能或更好的解决方案,请告诉我。谢谢。
SQL 服务器默认 不 区分大小写。如果您想进行区分大小写的搜索,您将需要使用区分大小写的排序规则。
Collation to be used for case-sensitivity: COLLATE Latin1_General_CS_AS
这是您的查询,已调整为区分大小写的搜索:
CASE
WHEN CHARINDEX ( 'M', column1 COLLATE Latin1_General_CS_AS) > 0 THEN 'T'
ELSE 'F'
END AS column1