- ~
下題環境:【Oracle-HR用戶】code
選擇僱用時間在1998-02-01到1998-05-01之間的員工姓名,job_id和僱用時間字符串
select first_name,last_name,job_id,hire_date from employees where hire_date between to_date('1998-02-01','yyyy-mm-dd') and to_date('1998-05-01','yyyy-mm-dd');
選擇在1994年僱用的員工的姓名和僱用時間
法1ast
select last_name,hire_date from hr.employees where hire_date between to_date('1994-1-1','yyyy-mm-dd') and to_date('1994-12-31','yyyy-mm-dd');
法2date
select first_name,last_name,hire_date from employees where to_char(hire_date,'yyyy-mm-dd')like'1994%' ; select first_name,last_name,hire_date from employees where to_char(hire_date,'yyyymmdd')like'1994%';
法3select
select first_name,last_name,hire_date from employees where hire_date like '%94'; Like 只能用於字符串序列, 所以你的 hire_date like 條件Oracle會隱式把 hire_date 進行 to_char 轉換, 而且使用系統默認的日期格式, 所以你須要知道系統默認的日期格式纔能有效的使用 like 篩選. 一般咱們都不依賴於系統默認的日期格式(他一般是 DD-MON-RR )而是直接顯示指定日期格式, 好比: to_char(hire_date,'yyyy-mm-dd'), 系統默認的格式可能依不一樣語言的系統而有所不一樣.
顯示系統時間查詢
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual;
查詢員工的姓名,以及在公司工做的月份數(worked_month),並按月份數降序排列語言
select first_name,last_name,months_between(sysdate,hire_date) worked_month from employees order by worked_month desc;