【发布时间】:2019-04-24 11:02:10
【问题描述】:
我有一个 staff_registered 列,其中包括员工注册的日期和时间。但是,我希望能够检索 2007 年 1 月 22 日注册的所有员工的日期和时间,如何显示时间?
SELECT EMPLOYEE_ID, FIRST_NAME, LAST_NAME, TO_CHAR (SYSDATE,'DD MON YY
HH:MI:SS')
FROM EMPLOYEE
WHERE TO_CHAR (REGISTRATION_DATE, 'DD-MON-YY') = '22-JAN-07';
我已经写了这个作为起点,我知道它是错误的,因为它得到今天的日期不是 22-JAN-07 或时间,但我不知道如何更正它。
【问题讨论】:
-
如果你的日期是 1907 年呢?最好使用
TO_CHAR (REGISTRATION_DATE, 'DD-MM-YYYY') = '22-01-2007'或TO_CHAR (REGISTRATION_DATE, 'DD-MON-YYYY', 'nls_date_language = american') = '22-JAN-2007'甚至更好的TRUNC(REGISTRATION_DATE) = DATE '2007-01-22'
标签: sql oracle date datetime time