我在sql中有以下case语句
case when fake.join in (''Women'') then ''Women's'' else ''Other'' end'
在我的存储过程中。我很难让它成为“女性”,而我能找到的唯一可以解决这个问题的人就是说“女人”,但这会让撇号消失。我需要保留撇号。请帮忙!感谢
答案 0 :(得分:5)
如果这确实是一个独立的声明,那么它应该如下所示:
case when fake.join in ('Women') then 'Women''s' else 'Other' end
如果你正在使用一些动态SQL构建一个字符串(这与所有撇号转义的情况类似),它应该如下所示:
case when fake.join in (''Women'') then ''Women''''s'' else ''Other'' end'
编辑:这是你提供的更全面的片段(只需注意'n'和's'之间的4个撇号):
case when sm.LegalName in (''Brigham & Women Hospital'', ''Brigham & Women Faulkner Hospital'') then ''Brigham & Women''''s Hospital''
when sm.LegalName in (''Newton Wellesley Hospital'', ''Massachusetts General Hospital'') then sm.LegalName
else ''Other'' end'
然后,您可以将包含此字符串的字符串提供给sp_executesql,它应该为您提供所需的内容。
答案 1 :(得分:1)
如果您希望结果字符串为'Women's'
,请使用'''Women''s'''
:
PRINT '''Women''s'''
结果:
'Women's'