Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQL: VorMonat ermitteln bringt im Dezember und November falsche Werte (https://www.delphipraxis.net/188653-sql-vormonat-ermitteln-bringt-im-dezember-und-november-falsche-werte.html)

juergen 24. Mär 2016 21:13

Datenbank: Pervasive • Version: V10 • Zugriff über: PDAC

SQL: VorMonat ermitteln bringt im Dezember und November falsche Werte
 
Hallo zusammen,

Pervasive bietet von Hause aus keine umfangreichen Funktionen um den Vormonat zu ermitteln.
Ausgehend vom PC-Datum brauche ich den Vormonat als 2-stelliges string-Ergebnis.
Folgendes habe ich mir ausgedacht:

Code:
select if (Month(Current_Date()) = 1, '12', Right ('0' + cast(Month(Current_Date())-1 as Char),2)) as VorMonat
Beim testen ist mir nun aufgefallen, dass wenn das PC Datum auf Dezember oder November steht ich als Ergebnis "01" erhalte, alle anderen Monate liefern mir den richtigen Vormonat vom PC-Datum.
Warum das nur beim Dezember und November nicht klappt, ich habe keine Ahnung warum.

Gibt es dafür eine Erklärung?

p80286 24. Mär 2016 21:41

AW: SQL: VorMonat ermitteln bringt im Dezember und November falsche Werte
 
was bedeutet
Code:
 Right ()
und
Code:
Char
meint wirklich einen String und keinen Char?

Gruß
K-H

juergen 24. Mär 2016 21:47

AW: SQL: VorMonat ermitteln bringt im Dezember und November falsche Werte
 
@p80286,

das Problem lag am Char. Es muss Varchar sein!
So funktioniert es nun auch:

Code:
select if (Month(Current_Date()) = 1, '12', Right ('0' + cast(Month(Current_Date())-1 as varchar(2)),2)) as VorMonat
Danke für deine Antwort.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz