In einer DB2-SQL-Abfrage gebe ich zwei Ganzzahlen zurück: Jahr und Monat. Daraus muss ich eine Zeichenkette im Format TT/MM/JJJJ erstellen. Das Datum muss den ersten Tag des NEXT-Monats darstellen.Konvertieren von iSeries-Datum in Zeichenfolge, nachdem es auf den 1. des nächsten Monats festgelegt wurde
So zum Beispiel Jahr = 2016, Monat = 9 in der Zeichenfolge führen würde "2016.01.10"
Derzeit verwende ich die folgenden (die ich geerbt), dies zu tun:
substring(cast(DATE(INSERT(INSERT(LEFT(CHAR((Year * 10000) + (Month * 100) + 1),8),5,0,''-''),8,0,''-'')) + 1 month as char(10)),9,2)|| ''/'' ||
substring(cast(DATE(INSERT(INSERT(LEFT(CHAR((Year * 10000) + (Month * 100) + 1),8),5,0,''-''),8,0,''-'')) + 1 month as char(10)),6,2)|| ''/''||
substring(cast(DATE(INSERT(INSERT(LEFT(CHAR((Year * 10000) + (Month * 100) + 1),8),5,0,''-''),8,0,''-'')) + 1 month as char(10)),1,4) as UPDATEDATE
aber es scheint schrecklich. Gibt es einen besseren Weg, um dieses Ergebnis zu erreichen?
Dank
Ron Ventura