出于报告目的,我想将我的date(digits(mydate7))
字段检索为mm/yyyy
.
我已经尝试过month(date(digits(mydate7)) + '/' + year (date(digits(mydate7)) as mmyyyy
,但得到null
了结果。我可以month(date(digits(mydate7))
单独测试和年份函数并获得一组返回数据,但不能在字段中组合。
出于报告目的,我想将我的date(digits(mydate7))
字段检索为mm/yyyy
.
我已经尝试过month(date(digits(mydate7)) + '/' + year (date(digits(mydate7)) as mmyyyy
,但得到null
了结果。我可以month(date(digits(mydate7))
单独测试和年份函数并获得一组返回数据,但不能在字段中组合。
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)
有关详细信息,请参阅连接运算符。
看起来 CONCAT
是字符串连接函数,而不是+
. 它可能试图添加一个带有字符串和呕吐的数字。
试试CONCAT(CONCAT(month(date(digits(mydate7)),'/'), year(date(digits(mydate7)))
。
通常我喜欢这样
substr(char(mydate7,ISO),6,2) || '/' || substr(char(mydate7,ISO),1,4)