Thread Abfrage liefert Gleitkommazahl ohne Nullen? (2 answers)
Opened by BratHering at 2007-09-24 18:18

BratHering
 2007-09-25 10:09
#99958 #99958
User since
2005-04-28
155 Artikel
BenutzerIn
[default_avatar]
hi,

bin mir sicher das problem besteht nicht in meinem skript. da der oracle sql developer mir die einträge mit führenden nullen vor dem komma anzeigt und der auch von oracle mitgelieferte client SQLPLUS liefert die werte ebenfalls ohne führenden nullen vor dem komma. habe es also mit dem SQLPLUS verifiziert :-)

aber hier ist das skript skript:
Code: (dl )
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
use strict;

use Data::Dumper;
use Getopt::Std;
use DBI;

use constant ENDL => "\n";
use constant DELIMITER => "/";
use constant SEPARATOR => " ";
use constant EXTENSION => ".txt";

our %opts;
getopts('d:u:p:f:s:', \%opts);
if(!exists($opts{d}) || !exists($opts{u}) || !exists($opts{p}) || !exists($opts{f}) || !exists($opts{s})) {
print 'USAGE: -d <DB-NAME> -u <USER-NAME> -p <PASS-WORD> -f <DESTINATION-PATH> -s <TABLE-SUFFIX>', ENDL;
exit(-1);
}

my($db, $usr, $pwd);
$db = 'DBI:Oracle:' . $opts{d};
$usr = $opts{u};
$pwd = $opts{p};

my $dbh = DBI->connect($db, $usr, $pwd) or die $DBI::errstr;
while(my $sql_queries = <STDIN>) {
chomp($sql_queries);
chop($sql_queries);

my $query = undef;
my @line_rows = split(/ /, $sql_queries);
open(SQL, '>', $opts{f} . DELIMITER . uc($opts{s}) . SEPARATOR . $line_rows[2] . EXTENSION) or die $!;

print SQL uc($opts{s} . SEPARATOR . $line_rows[2]), ENDL, ENDL;

$query = 'select count(' . $line_rows[2] . ') from ' . uc($opts{s});
print SQL $query, ENDL;
$query = $dbh->prepare($query);
$query->execute();
print SQL $query->fetchall_arrayref->[0][0], ENDL, ENDL;

$query = 'select count(distinct ' . $line_rows[2] . ') from ' . uc($opts{s});
print SQL $query, ENDL;
$query = $dbh->prepare($query);
$query->execute();
print SQL $query->fetchall_arrayref->[0][0], ENDL, ENDL;

$query = 'select min(' . $line_rows[2] . ') from ' . uc($opts{s});
print SQL $query, ENDL;
$query = $dbh->prepare($query);
$query->execute();
print SQL $query->fetchall_arrayref->[0][0], ENDL, ENDL;

$query = 'select max(' . $line_rows[2] . ') from ' . uc($opts{s});
print SQL $query, ENDL;
$query = $dbh->prepare($query);
$query->execute();
print SQL $query->fetchall_arrayref->[0][0], ENDL, ENDL;

$query = 'select distinct ' . $line_rows[2] . ' from ' . uc($opts{s});
print SQL $query, ENDL;
$query = $dbh->prepare($query);
$query->execute();
print SQL $query->fetchall_arrayref->[0][0], ENDL, ENDL;

close(SQL) or die $!;
}
$dbh->disconnect or die $dbh->errstr;

__END__



z.B. gibt es ja die möglichkeit bei komma zahlen den punkt statt dem komma zu nehmen mit befehlen wie alter session etc, da dachte ich es gäbe so etwas auch für die führenden nullen, was ich aber mit google nicht finden konnte.


MfG

View full thread Abfrage liefert Gleitkommazahl ohne Nullen?