SQL lekérdezésnél, hogy tudom Null értékű mező helyett egy adott stringet kiiratni?
Van egy lekérdezés pl.:
select a.name, b.date
from valami1 a, valami2 b
where a.id = b.id(+);
Tehát itt a "valami2" táblából olyan sorokat is hozzá rendelek a "valami1" táblához ahol lehet null az érték.
Ilyenkor a b.date lehet null és ha null akkor szeretnék helyett egy karakter sorozatot kiírni. Pl.: 'Nincs'.
Ez hogyan oldható meg?
Decode-al próbálkoztam, de otletem sincs hogyan kéne. Bármi más módszer?
Előre is köszi.
Google és Stackoverflow... -.-' Legközelebb próbálja meg használni is.
A kiíráskor kell elagazást írnod, például print(row.date == null ? "Nincs" : row.date);
Itt most feltesszük, hogy a date egy string, vagy definiált a toString() rajta.
1# Köszi a kedvességed. Kb 2 napja használom az sql-t. Ha itt nem kérdezhetek rá, akkor mire való ez a fórum?
Nyugdíjjas sakk klub?
Milyen SQL? mysql? postgresql? mssql? oracle? sqlite?
Mert szintaktikailag nem mindegy.
Amúgy pl mysql-ben van erre az ifnull, de postgre-ben a coalesce-t használnám erre.
Na, végül így megoldottam.
Hátha valaki a közel jövőben hasonló problémába ütközik.
SELECT shares.companyname AS "company_name", decode(TO_CHAR(transactions.DATEPROCESSED), null, 'NEVER', TO_CHAR(transactions.DATEPROCESSED))
.
.
.
Ezeket egy szóval se mondtad az alap kérdésedben:
- Kb 2 napja használom az sql-t (honnan kell tudnom, mennyi tapasztalatod van?)
- kifelejtettem hogy oracle (pedig nem mindegy, hogy mire. Csak "SQL"-t kérdezted)
Én arra válaszolok, amit kérdeznek. :)
Ha SQL, akkor a Generál SQL-re gondolok, ha nem specifikálod melyik alfaja.
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!