Anmelden

View Full Version : SQL Convert Date to Decimal



TheDevil
27-03-14, 12:26
Hallo Forum,
ich habe in einer DB ein numerisches Feld mit der Definition 8 0.
Auf diesen Inhalt möchte ich einen Tag dazuaddieren.

update xxxx/xxxx
set vondat =
dec(char(Date(Timestamp_Format(char(vondat), 'YYYYMMDD'))
+ 1 day))

Meldung : Zeichen in CAST-Argument ungültig.

Was mache ich bloss nicht richtig ... :)

Gruß,
Ralf

andreaspr@aon.at
27-03-14, 12:49
Hallo Ralf,

Wenn du CHAR(...) verwendest, bekommst du das Datum in ein entsprechendes Format umgewandelt.
Z.B.: 2014-01-02 oder 02.01.14 usw. je nach dem wie es bei dir eingestellt ist.

Mach es einfach so:

dec(replace(char(Date(Timestamp_Format(char(vondat ), 'YYYYMMDD'))
+ 1 day, ISO), '-', ''))

lg Andreas

B.Hauser
27-03-14, 13:00
Hier noch eine andere Variante:


Dec(VarChar_Format(Timestamp(Digits(VonDat) concat '000000' + 1 Day), 'YYYYMMDD'), 8, 0)

Birgitta

TheDevil
27-03-14, 13:34
Hallo.
@Andreas : Vielen Dank. Hat super geklappt.
@Brigitta : Bei Deiner Version kam leider eine Fehlermeldung .... aber wer suchet der findet ... die Klammer ZU hinter dem Wort DAY war zu viel :)

Token 8 ungültig. Gültige Token: ( DAY PATH YEAR LABEL MONTH OPTION
update xxxx/xxxxx
set vondat =
Dec(VarChar_Format(Timestamp(Digits(VonDat) concat '000000') + 1
Day), 'YYYYMMDD'), 8, 0)

Vielen Dank an euch beide ...

Ralf aus dem sonnigen Flensburg