Tsql:与 IN 一起使用的小写



我有一个关于下层函数的问题。

,case when lower(replace(producttitle, ‘ ‘, ‘‘)) in (‘microphone‘) then ‘YES‘ else ‘NO‘ end

当 IN 函数中的列值 = 值时,上面的语句仅选择 YES。

当诸如它的值写入 IN 函数中时,我想得到一个 YES。当列值为"麦克风"时,我想让它小写 ->麦克风,因为 IN 包含"麦克风",我应该得到一个 YES,对吧?

当列值为麦克风(上 B(时,为什么不降低它?例如在IN函数中。

示例:列值:"麦克风" 我想通过降低列值来获得"是",因为 IN 函数包含值("麦克风"(

谢谢

您需要更改排序规则以使其sensitive大小写,默认情况下大小写insensitive

CASE WHEN REPLACE(producttitle, ' ', '') = 'microphone' COLLATE SQL_Latin1_General_CP1_CS_AS
THEN 'YES' ELSE 'NO' 
END

最新更新