提问者:小点点

SQL如何将时间从日期提取到HH:MI:SS PM/AM?


我想在SQL Oracle中将日期的格式更改为HH:MI:SS PM/AM格式。

我想在这样的情况下使用它:

case when to\u char(a.dtime,'HH:MI:SS')

但是SQL不想显示所有to\u char时间

并且它不适用于to\u date。有什么建议吗?提前非常感谢。


共3个答案

匿名用户

您可以使用TO_CHAR(日期时间,格式)来格式化DATE列。这里给出了格式选项。

这将为您提供日期值的时间部分(12小时时钟加上上午/下午):

SELECT TO_CHAR( column_name,'HH:MI:SS AM') 
FROM   your_table

编辑-寻址更新

您可以执行以下操作:

SELECT CASE WHEN TO_NUMBER( TO_CHAR( a.dtime_appl_creation, 'HH24' ) ) >= 12
            THEN TO_CHAR( a.dtime, 'HH:MI:SS PM' )
            END AS "date"
FROM   table_name

匿名用户

SELECT to_char(sysdate,'dd/MM/yyyy hh:mi:ss am') 
FROM dual

匿名用户

case 
  when a.dtime_appl_creation-trunc(a.dtime_appl_creation) > 0.5 then 'after noon'
  else 'before noon' 
end