SQL是用於訪問和處理數據庫的標準的計算機語言,咱們所使用的的是Oracle SQLsql
一個數據庫一般包含一個或多個表,每一個表有一個名字表示,下圖即爲一個名爲「emp」的表,接下來的操做都將基於如下的表進行數據庫
字符函數:主要指參數類型是字符型,不一樣函數返回值多是字符型或數值型oracle
【大小寫轉換】函數
函數 | 效果 | 結果 |
LOWER('SQL Course')spa |
將大寫或大小寫混合的字符轉換成小寫 | sql course |
UPPER('SQL Course')code |
將小寫寫或大小寫混合的字符轉換大寫 | SQL COURSE |
INITCAP('SQL Course') | 將每一個單詞的第一個字母轉換成大寫,其他的字母都轉換成小寫 | Sql course |
select ROUND(100.456,2),Round(100.456,0),Round(100.456,-1) from DUAL
默認的日期形式是: DD-MON-RRblog
咱們能夠在系統變量-環境變量中,添加 key = NLS_DATE_FORMAT value = YYYY:MM:DD HH24:MI:SS 就能夠正常按照‘年與日’的格式查詢了!事件
SELECT ename, sal, MONTHS_BETWEEN(SYSDATE,hiredate) months FROM emp ORDER BY months; SELECT ename, sal, hiredate, ADD_MONTHS(hiredate,3) new_date FROM emp WHERE hiredate>'01-1月-82'; SELECT NEXT_DAY('2006-02-06','星期一') NEXT_DAY FROM DUAL; SELECT LAST_DAY('02-2月-06') "LAST DAY" FROM DUAL;
SELECT empno, hiredate, ROUND(hiredate, 'MONTH') FROM emp WHERE SUBSTR(hiredate,-2,2)='81'; SELECT empno, hiredate, TRUNC(hiredate, 'MONTH') FROM emp WHERE SUBSTR(hiredate,-2,2)='81';
【隱式數據類型轉換規則】字符串
【顯式數據類型轉換規則】table
SELECT ename, TO_CHAR(hiredate, 'DD Month YYYY') HIREDATE FROM emp; Select To_char(sal,'$99,999') Salary from emp where ename = 'Scott'
select to_number(1999) year from dual;
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
SELECT ename, sal, comm, (sal*12)+NVL(comm,0) from emp
SELECT ename, COALESCE(comm, 0) comm , deptno FROM emp;
SELECT ename, deptno, (CASE deptno WHEN 10 THEN '銷售部' WHEN 20 THEN '技術部' WHEN 30 THEN '管理部' ELSE '無' END) deptname FROM emp;
SELECT ename, deptno, decode(deptno, 10,'銷售部', 20,'技術部', 30 , '管理部', '無') deptname FROM emp;