在SQL(db2)中,将日期从yyyy-mm-dd转换为yyyy-mm,并替换为yyyymm

jfgube3f  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(172)

例如,当用户传递参数时,使用了以下代码:2022-03-25并将其转换为20220325

CASE WHEN LENGTH('$P!{DATE}') = 10
     THEN REPLACE(SUBSTR('$P!{DATE}', 1, 10), '-', '')
     ELSE '$P!{DATE}' END

但是现在我需要的不是转换到20220325,而是202203,有什么帮助吗?

eagi6jfj

eagi6jfj1#

在确定长度为10之后,substr()似乎没有任何意义。但既然这样做似乎有效,就删除最后三个字符。(最后两个字符最终也会有效。)

CASE WHEN LENGTH('$P!{DATE}') = 10
     THEN REPLACE(SUBSTR('$P!{DATE}', 1, 7), '-', '')
     ELSE '$P!{DATE}' END

相关问题