Thread Leere Daten in Array ersetzen (23 answers)
Opened by Kean at 2011-09-16 13:25

dgw
 2011-09-16 14:56
#152497 #152497
User since
2010-08-16
27 Artikel
BenutzerIn

user image
Es gibt verschiedene Möglichkeiten wie Du das Problem angehen kannst:
1. innerhalb der Datenbank
2. innerhalb von Perl

Zu 1.:
Je nach Datenbank gibt es Funktionen die genau für diesen Fall geschrieben wurden:
Code: (dl )
1
2
3
MySQL: SELECT NULLIF(spalte,'NULL-Alternative') FROM tabelle ;
PostgreSQL: SELECT COALESCE(spalte,'NULL-Alternative' FROM tabelle ;
Informix: SELECT NVL(spalte,'NULL-Alternative') FROM tabelle ;


Zu 2.:
Hier gibt es wie immer mehrere Möglichkeiten:
Code (perl): (dl )
1
2
3
4
my @daten = map { defined $_ ? $_ : 'NULL-Alternative' } $sth->fetchrow_array() ;

# Ab perl 5.10 geht auch
my @daten = map { $_ // 'Anstelle von ...' } $sth->fetchrow_array() ;


Wenn ich genau weiss, daß einige Spalten meiner Abfrage NULL sein können, dann versuche ich das Problem bereits auf Datenbankebene abzufangen, ansonsten kann man neben den oben gezeigten Perlvarianten auch noch zig andere Lösungen finden.

Just my 2 cents.
Daniel

View full thread Leere Daten in Array ersetzen