需要帮助把军队转换成标准时间。
我有下面的代码:但是,它给我错误ora-01850
select to_char (to_date(tst_time, 'HH24MI'), 'HH:MI AM') integer_time FROM STATUS_HISTORY
where tst_id = '75344'
我认为这是因为tst\u time的值只有前2个条目的3个字符。如果tst\U时间只包含3个数字,如何在开始时添加0?
Table Value Expected Result
TST_Time integer_time
958 09:58 AM
541 05:41 AM
1609 04:09 PM
2条答案
按热度按时间t30tvxxf1#
如果我理解正确,你可以用
lpad()
:必要时在前面加一个零。
rdrgkggo2#
假设
tst_time
是一个数字-这似乎是可能的;如果它是一个字符串,那么它已经有了前导零是有意义的——那么您正在用to_date()
打电话。如果进行显式转换,则可以在该点引入前导零:
这个
to_char(tst_time, 'FM0000')
将958转换为0958(调频部分阻止它有一个领先的空间,以允许+/-标志;但在这里并不重要。)db<>小提琴