0

date(digits(mydate7))レポートの目的で、フィールドを として取得したいと思いますmm/yyyy

私は試してみmonth(date(digits(mydate7)) + '/' + year (date(digits(mydate7)) as mmyyyyましたがnull、結果として得られます。month(date(digits(mydate7))年関数を個別にテストして、返されるデータのセットを取得できますが、フィールドで結合することはできません。

4

3 に答える 3

3

DB2/400 は、連結に二重パイプ文字を使用します。

RTRIM(CHAR(MONTH(DATE(DIGITS(mydate7))))) || '/' || RTRIM(CHAR(YEAR(DATE(DIGITS(mydate7)))))

次のように単純化できるmydate7形式であると仮定します。yyyyddd

RTRIM(CHAR(MONTH(DATE(DIGITS(mydate7))))) || '/' || SUBSTR(DIGITS(mydate7),1,4)

暗黙のキャストでさらに単純化:

RTRIM(MONTH(DIGITS(mydate7))) || '/' || RTRIM(mydate7/1000)

詳細については、連結演算子を参照してください。

于 2012-07-10T19:18:37.487 に答える
1

のように見え CONCATます ではなく、文字列連結関数+です。おそらく、文字列とバーフィングで数値を追加しようとしています。

試してみてくださいCONCAT(CONCAT(month(date(digits(mydate7)),'/'), year(date(digits(mydate7)))

于 2012-07-10T19:07:57.730 に答える
0

通常、私はこれが好きです

substr(char(mydate7,ISO),6,2) || '/' || substr(char(mydate7,ISO),1,4)
于 2012-07-11T03:22:53.317 に答える