Ho dati in cui alcuni record contengono righe vuote (= senza spazio, no NULL). Ad esempio:Ignora SQL SOSTITUIRE per istruzione CASE
LOCALE
en-es
en-uk
uk-uk
Quando voglio selezionare quella riga vuota, è facile con:
SELECT LOCALE
FROM ABC
WHERE LOCALE = ''
Ma quando provo a sostituirlo come segue, non funziona, il risultato è ancora riga vuota :
SELECT REPLACE(LOCALE,'','WHY') AS 'LOCALE'
FROM ABC
WHERE LOCALE = ''
Ma se escludo questo con CASE
affermazione, funziona:
SELECT CASE
WHEN LOCALE LIKE '' THEN 'WHY'
ELSE LOCALE
END AS 'LOCALE'
FROM ABC
WHERE LOCALE = ''
Qual è il problema qui? Perché la funzione REPLACE
non funziona?
Non è possibile sostituire una stringa vuota. –
@wewesthemenace Penso che l'OP abbia già ottenuto quella parte, la domanda è perché non può essere fatto ... –
prova questo SELECT REPLACE ('', '', 'WHY') COME 'LOCALE' è lo spazio è lì allora puoi sostituirlo. empty sting you can not –