ORACLE SQL練習(四)

--LPAD用於在字符串左側添加字符或空格git


SELECT LPAD(PROD_DESC, 30, '.') PRODUCT FROM PRODUCTS_TBL;數據庫


--RPAD用於在字符串右側添加字符或空格ide


SELECT RPAD(PROD_DESC, 30, '.') PRODUCT FROM PRODUCTS_TBL;函數


--算術函數字符串

--絕對值(ABS)it


SELECT ABS(-1) FROM DUAL;class


--舍入(ROUND)select


SELECT ROUND(3.245, 2) FROM DUAL;數據類型


--平方根數據


SELECT SQRT(64) FROM DUAL;


--轉換函數


--字符串轉換爲數字

--數值數據類型與字符數據類型有兩個主要區別:

--1.算術表達式和函數能夠用於字符;

--2.在輸出結果裏,數值是右對齊的,而字符串是左對齊的.


SELECT EMP_ID, TO_NUMBER(EMP_ID) FROM EMPLOYEE_TBL;


--TIPS:不用數據類型的對齊方式不一樣

--數據的對齊方式是判別字段數據類型的最簡單方式


SELECT PAY_RATE, TO_CHAR(PAY_RATE)

  FROM EMPLOYEE_PAY_TBL

 WHERE PAY_RATE IS NOT NULL;


--字符函數的組合使用


SELECT LAST_NAME || ', ' || FIRST_NAME AS NAME,

       SUBSTR(EMP_ID, 1, 3) || '-' || SUBSTR(EMP_ID, 4, 2) || '-' ||

       SUBSTR(EMP_ID, 6, 4) AS ID

  FROM EMPLOYEE_TBL;


--顯示每一個僱員的完整姓名和電話區號


SELECT FIRST_NAME || ', ' || LAST_NAME AS NAME, SUBSTR(PHONE, 1,3)

  FROM EMPLOYEE_TBL;


--編寫一個SQL語句,列出僱員的電子郵件地址,格式:FIRST.LAST@PERRTECH.COM


SELECT FIRST_NAME || '.' || LAST_NAME ||'@PERRTECH.COM' AS "E-MAIL"

  FROM EMPLOYEE_TBL;



/*編寫一個SQL語句,以以下形式列出僱員的姓名,ID和電話號碼


a.姓名顯示爲SMITH,JOHN;

b.僱員ID顯示爲999-99-9999;

c.電話號碼顯示爲(999)999-9999.

*/


--在ORACLE數據庫下實現,能夠用正則函數REGEXP_REPLACE。

col name for a20

col employee_id for a13

col phone for a15


SQL> SELECT FIRST_NAME || ',' || LAST_NAME AS NAME,

  2         REGEXP_REPLACE(EMP_ID,

  3                        '([[:digit:]]{3})([[:digit:]]{2})([[:digit:]]{4})',

  4                        '\1-\2-\3') AS "EMPLOYEE_ID",

  5         REGEXP_REPLACE(PHONE,

  6                        '([[:digit:]]{3})([[:digit:]]{3})([[:digit:]]{4})',

  7                        '(\1)\2-\3') AS PHONE

  8    FROM EMPLOYEE_TBL;

NAME                 EMPLOYEE_ID   PHONE

-------------------- ------------- ---------------

TINA,STEPHENS        311-54-9902   (317)878-4465

LINDA,PLEW           442-34-6889   (317)297-8990

BRANDON,GLASS        213-76-4555   (317)898-4321

JACOB,GLASS          313-78-2439   (317)545-7676

MARIAH,WALLACE       220-98-4332   (317)332-5986

TIFFANY,SPURGEON     443-67-9012   (317)567-9007

6 rows selected

相關文章
相關標籤/搜索