出于报告目的,我想将date(digits(mydate7))
字段检索为mm/yyyy
。
我已尝试month(date(digits(mydate7)) + '/' + year (date(digits(mydate7)) as mmyyyy
,但获得null
作为结果。我可以单独使用month(date(digits(mydate7))
和年份函数进行测试,并获得一组返回数据,但不会在字段中合并。
答案 0 :(得分: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)
使用implicit casting进一步简化:
RTRIM(MONTH(DIGITS(mydate7))) || '/' || RTRIM(mydate7/1000)
有关详细信息,请参阅concatenation operator。
答案 1 :(得分:1)
Looks like CONCAT
是字符串连接函数,而不是+
。它可能试图添加一个带字符串和barfing的数字。
尝试CONCAT(CONCAT(month(date(digits(mydate7)),'/'), year(date(digits(mydate7)))
。
答案 2 :(得分:0)
通常我喜欢这个
substr(char(mydate7,ISO),6,2) || '/' || substr(char(mydate7,ISO),1,4)