目前在我的oracle表上,我的程序
上有以下if条件if TO_CHAR(updatetime, 'DD-MON-YYYY HH:MI:SS') != '01-JAN-1900 00:00:01' then
假设来自oracle表的值updatetime是“01-JAN-1900 12:00:01 AM”,我的if条件是真还是假?
我问的原因是因为我不确定TO_CHAR转换为的格式。表中的值采用12小时时钟格式,而条件则采用24小时格式。
这是我第一周使用oracle sql ..
谢谢!
答案 0 :(得分:5)
@Tony安德鲁斯说过,但是如果你把它与一个包含24小时时钟值的字符串进行比较,你可能想让你的to_char转换为24小时制。像这样将HH改为HH24:
if TO_CHAR(updatetime, 'DD-MON-YYYY HH24:MI:SS') != '01-JAN-1900 00:00:01' then
答案 1 :(得分:3)
Oracle DATE列不将日期保存为格式化字符串,它(内部)保存为7个数字值:世纪,年,月,日,小时,分钟,秒。因此,在TO_CHAR中使用的格式无关紧要。