一、運算符
算術運算符:+ - * / 可以在select 語句中使用
連接運算符:|| select deptno|| dname from dept;
比較運算符:> >= = != < <= like between is null in
邏輯運算符:not and or
集合運算符: intersect ,union, union all, minus
要求:對應集合的列數和數據類型相同
查詢中不能包含long 列
列的標簽是第一個集合的標簽
使用order by時,必須使用位置序號,不能使用列名
例:集合運算符的使用:
二.ORACLE日期時間函數大全
TO_DATE格式(以時間:2007-11-02 13:45:25為例)
Year:
yy two digits 兩位年 顯示值:07
yyy three digits 三位年 顯示值:007
yyyy four digits 四位年 顯示值:2007
Month:
mm number 兩位月 顯示值:11
mon abbreviated 字符集表示 顯示值:11月,若是英文版,顯示nov
month spelled out 字符集表示 顯示值:11月,若是英文版,顯示november
Day:
dd number 當月第幾天 顯示值:02
ddd number 當年第幾天 顯示值:02
dy abbreviated 當周第幾天簡寫 顯示值:星期五,若是英文版,顯示fri
day spelled out 當周第幾天全寫 顯示值:星期五,若是英文版,顯示friday
ddspth spelled out, ordinal twelfth
Hour:
hh two digits 12小時進制 顯示值:01
hh24 two digits 24小時進制 顯示值:13
Minute:
mi two digits 60進制 顯示值:45
Second:
ss two digits 60進制 顯示值:25
其它
Q digit 季度 顯示值:4
WW digit 當年第幾周 顯示值:44
W digit 當月第幾周 顯示值:1
24小時格式下時間范圍為: 0:00:00 - 23:59:59....
12小時格式下時間范圍為: 1:00:00 - 12:59:59 ....
1. 日期和字符轉換函數用法(to_date,to_char)
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期轉化為字符串
select to_char(sysdate,'yyyy') as nowYear from dual; //獲取時間的年
select to_char(sysdate,'mm') as nowMonth from dual; //獲取時間的月
select to_char(sysdate,'dd') as nowDay from dual; //獲取時間的日
select to_char(sysdate,'hh24') as nowHour from dual; //獲取時間的時
select to_char(sysdate,'mi') as nowMinute from dual; //獲取時間的分
select to_char(sysdate,'ss') as nowSecond from dual; //獲取時間的秒
select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss') from dual//
2. select to_char( to_date(222,'J'),'Jsp') from dual
顯示Two Hundred Twenty-Two
3.求某天是星期幾
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;
星期一
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual;
monday
設置日期語言
ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';
也可以這樣
TO_DATE ('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')
4. 兩個日期間的天數
select floor(sysdate - to_date('20020405','yyyymmdd')) from dual