如何在 Intersystems Caché 数据库中将日期和时间连接并格式化为 timestamp/datetime

How to concatenate and format date and time to timestamp/datetime in Intersystems Caché database

利用 Intersystems Cache 文档和我有限的 SQL 知识,我发现 Cache 有它自己的内部方法可以将日期时间转换为六位整数,但我不知道如何获取它回到人类可以理解的格式(关于如何做到这一点的 Intersystems 文档对我来说是不可理解的)。我在 yyyy-mm-dd 中有一个日期列,在 hh:ss xm 中有一个文本时间列,我在 DBeaver 中工作。我需要 datetime 或 datetime2 中的一列。

SELECT appointment_date, CAST(appointment_start_time as TIME) ast,
       appointment_date + appointment_start_time as sdt
FROM foobar

示例:

appointment_date   ast          sdt

2016-09-21         14:30:00     64184

期望的结果:

appointment_date   ast          sdt

2016-09-21         14:30:00     2016-09-21 14:30:00

您可以使用 CAST or CONVERT, and instead of '+', use STRING 进行串联

STRING(CAST(appointment_date as VARCHAR) , ' ' , appointment_start_time)
STRING(CONVERT(VARCHAR,appointment_date,105), ' ' , appointment_start_time)

105 用于格式 dd-mm-yyyy