SQL-запрос для замены подстроки - PullRequest
0 голосов
/ 15 июля 2011

Я хочу написать запрос, который заменит значение 0,00 на «-» в столбце.Значение следует заменять, только если оно равно 0,00, а не если 230,00

Я сделал этот запрос replace(SUBSTRING(cast(columname AS varchar(7)),0,7),'0.00','-'), но он заменяет 230,00 на 23-

Пожалуйста, помогите

Ответы [ 3 ]

2 голосов
/ 15 июля 2011

Предполагая формат таблицы примерно так:

`id` | `cost`
 1   | 230.00
 2   | 543.65
 3   | 0.00

Тогда запрос

SELECT CASE WHEN cost=0 THEN '-' ELSE cost END FROM table;

вернется

230.00
543.65
-
0 голосов
/ 15 июля 2011

CASE WHEN, когда columnname = 0 THEN '0.00' ELSE заменить (SUBSTRING (приведение (columname AS varchar (7)), 0,7), '0,00', '-') END

0 голосов
/ 15 июля 2011

использование:

if (SUBSTRING(cast(columname AS varchar(7)),0,7) = '0.00', '-', SUBSTRING(cast(columname AS varchar(7)),0,7))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...