Ich habe Daten, wo einige Datensätze leere Zeilen enthalten (= kein Leerzeichen, keine NULL). ZB:SQL umgehen REPLACE von CASE-Anweisung
LOCALE
en-es
en-uk
uk-uk
Als ich diese leere Zeile auswählen möchten, ist es einfach, mit:
SELECT LOCALE
FROM ABC
WHERE LOCALE = ''
Aber wenn ich versuche, es zu ersetzen, wie folgt, ist es nicht funktioniert, ist das Ergebnis immer noch leere Zeile :
SELECT REPLACE(LOCALE,'','WHY') AS 'LOCALE'
FROM ABC
WHERE LOCALE = ''
Aber wenn ich dies mit CASE
Aussage umgehen, funktioniert es:
SELECT CASE
WHEN LOCALE LIKE '' THEN 'WHY'
ELSE LOCALE
END AS 'LOCALE'
FROM ABC
WHERE LOCALE = ''
Was ist das Problem hier? Warum funktioniert die REPLACE
Funktion nicht?
Sie können eine leere Zeichenfolge nicht ersetzen. –
@wewesthemenace Ich denke, das OP hat schon diesen Teil, die Frage ist, warum es nicht getan werden kann ... –
versuchen Sie diese SELECT REPLACE ('', '', 'WARUM') AS 'LOCALE' ist Raum ist dann da Sie können es ersetzen. leeres Stachel kann nicht –