1
2
3
4
5
6
create or replace function epoch (in db2ts timestamp)
returns bigint
language sql
deterministic
no external action
return (days(db2ts - current timezone) - days('1970-01-01-00.00.00.000000')) * 86400 + midnight_seconds(db2ts - current timezone);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
use DBI; use DBD::DB2::Constants; use DBD::DB2; use Time::Piece; use Time::Piece::DB2; my $now = localtime; # das ist das localtime von Time::Piece!!! # Zugangsdaten Datenbank my ( $username, $password ) = ( 'usermurks22', 'OxMoxPurrl123'); # Datenbank verbinden my $dbh = DBI->connect("dbi:DB2:db_name", $username, $password); # !!! musst du für dich anpassen!!!! # SQL für Abfrage des Datums erzeugen my $SQL = 'SELECT date1 FROM table221'; # !!! musst du für dich anpassen!!! # SQL vorbereiten my $sth = $dbh->prepare( $SQL ); # SQL auaführen $dbh->execute(); # eine Datenbankzeile auslesen my @row = $sth->fetchrow; # gewünschtes Datum aus Puffer holen my $db2_date = $row[0]; # DB2 timestamp in Time::Piece-Objekt umwandeln my $time = Time::Piece->from_db2_timestamp( $db2_date ); # Datum vergleichen if ( abs($now-$time) > 3 * ONE_DAY) { # älter als 3 Tage ... ... }