【发布时间】:2023-03-19 22:16:01
【问题描述】:
我有一个名为 OpenDate 的数字列,它显示例如“16042014”表示“16/04/2014”,我想将其转换为格式为 16/04/2014 的日期。所以当导出到excel中时,excel可以识别日期并进行相应的过滤。目前它导出为整数 16042014。
【问题讨论】:
-
你用的是什么sql? mysql、msql server、oracle等?
我有一个名为 OpenDate 的数字列,它显示例如“16042014”表示“16/04/2014”,我想将其转换为格式为 16/04/2014 的日期。所以当导出到excel中时,excel可以识别日期并进行相应的过滤。目前它导出为整数 16042014。
【问题讨论】:
在纯 SQL ISO 标准中,这是通过以下表达式完成的:
CAST(SUBSTRING(MY_COL FROM 5 FOR 4) || '-' || SUBSTRING(MY_COL FROM 3 FOR 2) || '-' || SUBSTRING(MY_COL FROM 1 FOR 2), AD DATE)
但这通常取决于您的真实 SGBDR(Oracle、MS SQL Server、IBM DB2...)
例如,对于 SQL Server,您可以使用 DATEFROMPART cionstructor :!
DATEFROMPARTS(MY_COL % 10000, MY_COL % 1000000 / 10000, MY_COL / 1000000)
【讨论】: