ho questo Struttura della tabella prices
:caso quando un valore è diverso da un altro valore, SQL Server
CREATE TABLE prices
(
id int,
priceFrom int,
priceUp int
);
INSERT INTO prices (id, priceFrom, priceUp)
VALUES (1, 23, 23), (2, 0, 0), (3, 12, 13),
(4, 40, 40), (5, 15, 15), (6, 0, 0);
Questo è il risultato:
ho questa query:
select
pricefrom, priceup,
case
when pricefrom = 0 then null
when priceFrom <> priceUp then priceFrom + ' - ' + priceUp
when priceFrom = priceUp then priceFrom
end as FinalPrice
from
prices
quello che mi serve è fare un caso quando
- pricefrom = 0 mostrano quindi nullo
- pricefrom = priceup poi mostrare il prezzo
- Almeno se pricefrom = priceup voglio mostrare ad esempio questo:! 12 (pricefrom) - 13 (priceup)
ma nella mia interrogazione in questa linea:
cerco di fare questo con <>
ma nel risultato appare la somma di entrambi i numeri:
Come posso risolvere questo problema?
'quando pricefrom <> priceUp poi gettato (pricefrom come varchar) + '-' + cast (priceUp come varchar)'? – potashin
'Cast' to' Varchar' – Wanderer
E lancia anche il 'THEN priceFrom' sulla riga sottostante. * Non * avere più tipi di dati diversi che escono da un'istruzione 'CASE'. Le conversioni implicite sono un bugger. – MatBailie