This demo code works for me , maybe try it on your test server
- DB2 Express-C 11.1
- Windows 10
- perl 5, version 16, subversion 1 (v5.16.1) built for MSWin32-x64-multi-thread
- DBD:DB2 Version 1.85
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
use DBD::DB2;
printf "DBD::DB2 Version = %s\n", $DBD::DB2::VERSION;
my $dbh = DBI->connect("dbi:DB2:sample2","","",
{ RaiseError => 0, AutoCommit => 1 })
or die "Could not connect to database :".DBI->errstr;
# create test table
#$dbh->do('DROP TABLE tmp_session');
my $sql = 'CREATE table tmp_session (
FID_CUST varchar(50),
DAT_END timestamp
)';
$dbh->do($sql);
# insert
$sql = 'INSERT INTO tmp_session VALUES (?,?)';
my $sth = $dbh->prepare($sql);
my @data = (
['ABCD3','2017-09-17 12:00:00'],
['ABCD4','2017-09-18 12:00:00'],
);
for (@data){
$sth->execute(@$_);
}
# select
$sql = 'SELECT FID_CUST,DAT_END
FROM tmp_session
WHERE DAT_END between ? AND ?';
my @dates = (
'2017-09-17 11:00:00',
'2017-09-18 11:00:00'
);
my $ar = $dbh->selectall_arrayref($sql,undef,@dates);
for (@$ar){
print "@$_\n";
}
poj
| [reply] [d/l] |
There is no bad solution ever! Sometimes it does not work because of something we miss or are unaware of (in my case its the same). Well i really appreciate all of you for your solutions. This problem did not yet solved but i have gained so much other knowledge because of this. Feeling lucky to be a part of this blog. | [reply] |