flash-gordon
Goto Top

MSSQL 2000 / Wenn NULL-Wert, dann in Ergebnis mit "00000000" auffüllen

Hallo zusammen,

es geht sich um folgendes:

diese Query:

  SELECT 
  CONVERT(varchar(8), VERTRAG.VERENDE, 112) as "wic_rights_end"  
  FROM  L2001.VERTRAG  VERTRAG

liefert ein Ergebnis, dass wie folgt aussieht:
wic_rights_end 
-------------- 
NULL
NULL
20060331
NULL
NULL
NULL
NULL
NULL
20031030
20031030
NULL
NULL
usw.....
jetzt möchte ich aber, dass NUR die NULL Werte mit 00000000 ersetzt werden.
Ich habe das schon mit REPLACE versucht, funktioniert aber leider nicht.

Hat da jemand eine Lösung parat?

1000 DANK im VORRAUS!

#Flash

Content-Key: 47971

Url: https://administrator.de/contentid/47971

Printed on: April 18, 2024 at 08:04 o'clock

Member: Biber
Biber Jan 04, 2007 at 15:32:42 (UTC)
Goto Top
Moin flatsch,

2 Strategien würde ich versuchen. Entweder mit COALESCE oder ISNULL, wobei bei Deinem Konstrukt die Variante mit ISNULL noch lesbarer ist.

SELECT 
  CASE WHEN IsNull(Vertrag.VerEnde) Then '0000000' ELSE  CONVERT(varchar(8), VERTRAG.VERENDE, 112) END as "wic_rights_end"  
  FROM  L2001.VERTRAG  VERTRAG

HTH Biber
P.S. Welcher Witzbold hat denn das Feld Vertragsende "VERENDE" genannt?
Noch ein alter dBASE-Bastler mit einer Max-10-Zeichen-im-Feldnamen-Paranoia?
Member: flash-gordon
flash-gordon Jan 04, 2007 at 15:37:02 (UTC)
Goto Top
Server: Msg 174, Level 15, State 1, Line 2
The isnull function requires 2 arguments.

face-smile Du wirst es nicht glauben, aber VERENDE ist noch nicht mal der beste Feldname in dieser DB.
Member: Biber
Biber Jan 04, 2007 at 15:56:25 (UTC)
Goto Top
Moin,

sorry, hatte eben zu sehr um die Ecke gedacht (oder das "verende" hatte mich so durcheinander gebracht).
SELECT 
  IsNull(CONVERT(varchar(8), VERTRAG.VERENDE, 112), '00000000')  as "wic_rights_end"  
  FROM  L2001.VERTRAG  VERTRAG

Gruß
Biber
Member: flash-gordon
flash-gordon Jan 04, 2007 at 15:59:30 (UTC)
Goto Top
Moin,

sorry, hatte eben zu sehr um die Ecke
gedacht (oder das "verende" hatte
mich so durcheinander gebracht).
SELECT 
>   IsNull(CONVERT(varchar(8),
> VERTRAG.VERENDE, 112), '00000000')  as  
> "wic_rights_end"  
>   FROM  L2001.VERTRAG  VERTRAG
> 

Gruß
Biber


that`s it!

Vielen vielen DANK!