一尘不染

将DB2 SQL小数转换为DATE

sql

我需要将十进制转换为日期。我有一个十进制日期字段,其中包含如下数据:

  • 1,132,009.00 –1 / 13/2009

  • 7,152,004.00 –7 / 15/2004

  • 11,012,005.00 –11 / 01/2005

等等

我希望它读为 xx / xx / xxxx

无论如何,在select语句中使用SQL命令或DB2逻辑来执行此操作吗?

SELECT  column1  from  table1  ;

阅读 122

收藏
2021-03-17

共1个答案

一尘不染

WITH x(decvalue) AS ( VALUES (DECIMAL(1132009.00)),(DECIMAL(7152004.00)),(DECIMAL(11012005.00)) )

SELECT CAST( 
    LPAD( RTRIM( CHAR( INTEGER( decvalue/1000000 ))), 2, '0' ) || '/' || 
    LPAD( RTRIM( CHAR( MOD( decvalue/10000, 100 ))), 2, '0' )  || '/' ||
    MOD( decvalue, 10000 ) 
AS CHAR(10)) 
AS chardateresult
FROM x
;
2021-03-17