SQL: 是否可以将 dd-mon-yy 转换为一天中的某个时间?
SQL: Is it possible to convert dd-mon-yy to a time of day?
我有这个 table 日期为 dd-mon-yy 的约会:
APP_DATE
---------
06-NOV-20
06-NOV-20
我的老师要我们把它转换成这样:
APPT_DATE APPT_TIME
------------- ------------
NOV 06, 2020 10:45 AM
NOV 06, 2020 11:30 AM
这可能吗?如果是这样,如何?我的老师没有在约会时给我们每小时的信息。但也许它仍然存在,因为它们是日期类型?
如果你真的只有约会对象,就无法获得约会时间。
如果这是一个视图或某种表示层,并且在底层数据源中实际上有一个 DATETIME 格式,您可以使用类似的东西:
CONVERT(TIME(0), APP_DATE) AS APP_TIME
如果不是这样,您的老师似乎错过了一些关键信息,和/或对将日期格式从 DD-MMM-YY 更改为 [MMM DD, YYYY] 更感兴趣
这可以这样做:
SELECT CONVERT(VARCHAR, APP_DATE, 107)
有关 CONVERT 函数和格式选项的更多信息,请参阅此 link:
https://www.w3schools.com/sql/func_sqlserver_convert.asp
如果列是date
,那么它包含一个时间,只是displaying的问题而已:
select to_char(app_date, 'Mon, d yyyy') as app_date,
to_char(app_date, 'hh24:mi') as app_time
from the_table;
我认为正确的答案有一些问题。
您可以使用以下代码:
SELECT TO_CHAR(APP_DATE, 'Mon, DD yyyy') AS APP_DATE, -- use DD instead of D
TO_CHAR(APP_DATE,'hh24:mi') AS APP_TIME -- Use 24 instead of 42
FROM YOUR_TABLE
我有这个 table 日期为 dd-mon-yy 的约会:
APP_DATE
---------
06-NOV-20
06-NOV-20
我的老师要我们把它转换成这样:
APPT_DATE APPT_TIME
------------- ------------
NOV 06, 2020 10:45 AM
NOV 06, 2020 11:30 AM
这可能吗?如果是这样,如何?我的老师没有在约会时给我们每小时的信息。但也许它仍然存在,因为它们是日期类型?
如果你真的只有约会对象,就无法获得约会时间。
如果这是一个视图或某种表示层,并且在底层数据源中实际上有一个 DATETIME 格式,您可以使用类似的东西:
CONVERT(TIME(0), APP_DATE) AS APP_TIME
如果不是这样,您的老师似乎错过了一些关键信息,和/或对将日期格式从 DD-MMM-YY 更改为 [MMM DD, YYYY] 更感兴趣
这可以这样做:
SELECT CONVERT(VARCHAR, APP_DATE, 107)
有关 CONVERT 函数和格式选项的更多信息,请参阅此 link: https://www.w3schools.com/sql/func_sqlserver_convert.asp
如果列是date
,那么它包含一个时间,只是displaying的问题而已:
select to_char(app_date, 'Mon, d yyyy') as app_date,
to_char(app_date, 'hh24:mi') as app_time
from the_table;
我认为正确的答案有一些问题。
您可以使用以下代码:
SELECT TO_CHAR(APP_DATE, 'Mon, DD yyyy') AS APP_DATE, -- use DD instead of D
TO_CHAR(APP_DATE,'hh24:mi') AS APP_TIME -- Use 24 instead of 42
FROM YOUR_TABLE