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

时间:2015-06-25 12:07:28

标签: sql oracle

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

我希望在以下情况下使用它:

to_char(a.dtime,'HH:MI:SS')> = 12:00:00然后to_char(a.dtime,'HH:MI:SS PM')的情况,否则为空日结束日期

但SQL不希望向我显示所有to_char次> 12:00但它只显示有12:%%:%%的那些。

它与to_date不兼容。 有什么建议?非常感谢。

3 个答案:

答案 0 :(得分:3)

您可以使用TO_CHAR( datetime, format )格式化DATE列。格式选项为here

这会给你时间部分日期值(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

答案 1 :(得分:2)

setMinDate(long)

答案 2 :(得分:1)

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