sql - 将 DB2 SQL Decimal 转换为 DATE

标签 sql database db2 decimal

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

  • 1,132,009.00 --2009 年 1 月 13 日

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

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

    等等

我希望它读作 xx/xx/xxxx

有没有办法在 select 语句中使用 SQL 命令或 DB2 逻辑来做到这一点?

SELECT  column1  from  table1  ;

最佳答案

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
;

关于sql - 将 DB2 SQL Decimal 转换为 DATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8580956/

相关文章:

sql - 如何从SQL查询中过滤空列?

sql - 具有 Postgres 范围的递归 SQL 查询以查找可用性

database - 与 EF 配合良好且易于部署的独立数据库选项?

database - 如何将 VM 中创建的 Azure PostgreSQL 数据库连接到我的网站?

sql - 如何在没有 DB2 服务器的情况下导出 DB2 数据库

mysql - 高效的 DB2 查询分页和显示总页数?

sql - Oracle - 日期时间条件

sql - T-SQL-获取具有相同B组的所有As的列表

jquery - 使用 Coldfusion 捕获动态表单字段

mysql - 为什么无法将 .csv 中的表中的 null 和 char 数据值导入到 db2 中?