我想更改日期格式以格式化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不兼容。 有什么建议?非常感谢。
答案 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