2016-03-25 7 views
0

Ich habe folgende Case-Anweisung in SQLÄrger mit Apostroph in Stored Procedure

case when fake.join in (''Women'') then ''Women's'' else ''Other'' end' 

in meiner gespeicherten Prozedur. Ich habe Schwierigkeiten, es als "Frauen" durchzukommen und das einzige, was ich finden kann, um damit fertig zu werden, sagt "Frauen", aber das lässt den Apostroph verschwinden. Ich muss den Apostroph behalten. Bitte helfen Sie! Dank

+2

Bitte geben Sie die Datenbank und zeigt ein vollständigeres Beispiel. – David

+0

Sind diese beiden einfachen Anführungszeichen um jeden String? – Mureinik

+0

ja zwei einfache Anführungszeichen – user6114185

Antwort

5

Wenn dies wirklich eine eigenständige Aussage ist, dann sollte es so aussehen:

case when fake.join in ('Women') then 'Women''s' else 'Other' end 

Wenn Sie eine Zeichenfolge mit einigen dynamischen SQL-Gebäude sind (die Art ist, wie es aussieht mit allen Apostroph zu entkommen), sollte es so aussehen:

case when fake.join in (''Women'') then ''Women''''s'' else ''Other'' end' 

EDIT: Hier ist es mit dem volleren Snippet, das Sie zur Verfügung gestellt (nur beachten Sie die 4 Apostroph ist zwischen der ‚n‘ und ‚s‘):

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' 

Sie können dann einen String einschließlich dieser an sp_executesql füttern und es sollte Ihnen geben, was Sie suchen.

+0

Ich denke, das ist knapp. Die andere Sache, die ich vergessen zu erwähnen, ist, dass es ein anderes Wort nach Frauen gibt. Es muss also auch das nächste Wort enthalten. So Fall, wenn fake.join in ("Frauen Krankenhaus"), dann "Frauen" "Krankenhaus" "else" "Andere" "Ende" – user6114185

+0

Aktualisiert, um eine Version mit dem volleren Snippet enthalten Sie enthalten . – morgb

+0

genial! Vielen Dank – user6114185

1

Wenn Sie die resultierende Zeichenfolge 'Women's' sein wollen, dann '''Women''s''' verwenden:

PRINT '''Women''s''' 

Ergebnisse in:

'Women's'