【正文】
) TWO THOUSAND FOUR 說(shuō)明:步驟 。 結(jié)果為: SYSDATE TO_CHAR(SYSDATE,39。YYyysp39。YYYYSP39。) FROM dual。) 072月 04 two thousand four 步驟 2:執(zhí)行以下查詢: SELECT to_char(SYSDATE,39。 結(jié)果為: SYSDATE TO_CHAR(SYSDATE,39。yyyysp39。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 【 訓(xùn)練 7】 時(shí)間顯示的大小寫 。 如果格式中的前兩個(gè)字符是小寫 , 則輸出結(jié)果的全拼也為小寫 。 在格式字符中 , 前兩個(gè)字符代表顯示結(jié)果的大小寫 。YYYYSP39。) FROM dual。), to_char(SYSDATE,39。),to_char(SYSDATE,39。 執(zhí)行以下查詢: SELECT SYSDATE,to_char(SYSDATE,39。 TH代表序列 , SP代表全拼 。 年度用 4位顯示 。) HIREDATE FROM emp。 輸入并執(zhí)行查詢: SELECT ename, to_char(hiredate, 39。 執(zhí)行結(jié)果為: TO_CHAR(SYSDAT 2022年 11月 18日 說(shuō)明:雙引號(hào)中的中文字 “ 年 ” 、 “ 月 ” 、 “ 日 ” 原樣顯示 , 單引號(hào)為字符串的界定標(biāo)記 , 區(qū)別于雙引號(hào) , 不能混淆 。YYYY 年 MM 月 DD 日 39。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 【 訓(xùn)練 4】 將日期顯示轉(zhuǎn)換成中文的年月日 。 還可以按其他的格式顯示 。 “ ”、 “ :”和空格原樣顯示 , 用于分割日期和時(shí)間 。YYYYMMDD HH24 20220207 15:44:48 下午 星期六 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 說(shuō)明:該語(yǔ)句中的第一個(gè)參數(shù)表示要轉(zhuǎn)換的日期 , 第二個(gè)參數(shù)是格式字符串 , 表示轉(zhuǎn)換后的格式 , 結(jié)果類型為字符串 。) FROM dual。 執(zhí)行以下查詢: SELECT TO_CHAR(sysdate,39。 TEX T39。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 表 29 日期轉(zhuǎn)換格式字符 代 碼 代表的格式 例 子 AM 、 PM 上午、下午 0 8 A M D 數(shù)字表示的星期 (1 ~ 7) 1 , 2 , 3 , 4 , 5 , 6 , 7 DD 數(shù)字表示月中的日期 (1 ~ 31) 1 , 2 , 3 ,… , 3 1 MM 兩位數(shù)的月份 0 1 , 0 2 ,… , 1 2 Y 、 YY 、 YYY 、 YYYY 年份的后幾位 3 , 0 3 , 0 0 3 , 2 0 0 3 RR 解決 Y 2 K 問(wèn)題的年度轉(zhuǎn)換 DY 簡(jiǎn)寫的星期名 M O N , T U E , F RI, … D A Y 全拼的星期名 M O N D A Y , T U E S D A Y ,… 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 表 29 日期轉(zhuǎn)換格式字符 M O N 簡(jiǎn)寫的月份名 J A N , F E B, M A R ,… M O N T H 全拼的月份名 J A N U A R Y , F E BR U A R Y ,… HH 、 H H 1 2 12 小時(shí)制的小時(shí) (1 ~ 12) 1 , 2 , 3 ,… , 1 2 H H 2 4 24 小時(shí)制的小時(shí) (0 ~ 23) 0 , 1 , 2 ,… , 2 3 MI 分 (0 ~ 59) 0 , 1 , 2 ,… , 5 9 SS 秒 (0 ~ 59) 0 , 1 , 2 ,… , 5 9 , . / 。 Oracle的日期類型是包含時(shí)間在內(nèi)的 。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 2. 日期類型轉(zhuǎn)換 將日期型轉(zhuǎn)換成字符串時(shí) , 可以按新的格式顯示 。1139。39。||11 FROM dual。 執(zhí)行以下查詢: SELECT 39。被自動(dòng)轉(zhuǎn)換成數(shù)值 , 然后參加運(yùn)算 。+11 說(shuō)明:在本訓(xùn)練中 , 因?yàn)槌霈F(xiàn) +運(yùn)算符 , 說(shuō)明進(jìn)行的是算術(shù)運(yùn)算 , 所以字符串 39。 執(zhí)行結(jié)果為: 39。39。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 【 訓(xùn)練 1】 自動(dòng)轉(zhuǎn)換字符型數(shù)據(jù)到數(shù)值型 。 * 日期到字符串 。 * 字符串到日期 。 1 2 3 4 . 5 39。 yyyy mm dd 39。 1980 01 01 39。 $9999 . 9 39。常用的類型轉(zhuǎn)換函數(shù)有 TO_CHAR、 TO_DATE或 TO_NUMBER,如表 28所示 。 【 練習(xí) 2】 顯示從本年 1月 1日開始到現(xiàn)在經(jīng)過(guò)的天數(shù)(當(dāng)前時(shí)間取 SYSDATE的值 )。用 round函數(shù)對(duì)天數(shù)進(jìn)行四舍五入 。 輸入并執(zhí)行查詢: SELECT ename, round(sysdatehiredate) DAYS FROM emp WHERE deptno = 10。 返回結(jié)果為: NEW DATE 0411月 05 說(shuō)明:該查詢使用到了日期的加法運(yùn)算 , 求經(jīng)過(guò)一定天數(shù)后的新日期 。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 【 訓(xùn)練 3】 假定當(dāng)前的系統(tǒng)日期是 2022年 2月 6日 , 求再過(guò) 1000天的日期 。 282月 03 說(shuō)明:該函數(shù)給定參數(shù)為某月份的任意一天 , 返回時(shí)間為該月份的最后一天 。) FROM dual。 輸入并執(zhí)行查詢: SELECT last_day(39。 返回結(jié)果為: SYSDATE 062月 03 說(shuō)明:該查詢返回執(zhí)行該查詢時(shí)的數(shù)據(jù)庫(kù)服務(wù)器的系統(tǒng)當(dāng)前時(shí)間 , 日期顯示格式為默認(rèn)格式 , 如 “ 062月 03”表示 03年 2月 6日 。 ) 01 1 月 03 01 2 月 03 02 2 月 03 ( 按周截?cái)?) 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 【 訓(xùn)練 1】 返回系統(tǒng)的當(dāng)前日期 。 ), 39。 ) t ru n c (t o _ d a t e (39。 ), 39。 ) t ru n c (t o _ d a t e (39。 ), 39。 ) 01 1 月 03 01 2 月 03 16 2 月 03 ( 按周四舍五入 ) t ru n c 對(duì)日期按指定方式進(jìn)行截?cái)? t ru n c ( t o _ d a t e (39。 ), 39。 ) ro u n d (t o _ d a t e (39。 ), 39。 ) ro u n d (t o _ d a t e (39。 ), 39。 ) 28 2 月 03 r ound 按指定格式對(duì)日期進(jìn)行四舍五入 ro u n d (t o _ d a t e (39。) 10 2 月 03 l a s t _ d a y 返回指定日期所在的月的最后一天 l a s t _ d a y (39。 , 39。 , 1) 06 3 月 03 06 1 月 03 n e x t _ d a y 返回指定日期后的星期對(duì)應(yīng)的新日期 n e x t _ d a y (39。 , 1 ) a d d _ m o n t h s (39。 ) 5 7 . 7 7 4 1 9 3 5 a d d _ m o n t h s 返回把月份數(shù)加到日期上的新日期 a d d _ m o n t h s (39。 , 39。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 表 27 日期函數(shù) 函 數(shù) 功 能 實(shí) 例 結(jié) 果 m o n t h s _ b e t w e e n 返回兩個(gè)日期間的 月份 m o n t h s _ b e t w e e n (39。 * 通過(guò)加小時(shí)來(lái)增加天數(shù) , 24小時(shí)為一天 , 如 12小時(shí)可以寫成 12/24(或 )。 使用日期的加減運(yùn)算 , 可以實(shí)現(xiàn)如下功能: * 對(duì)日期的值加減一個(gè)天數(shù) , 得到新的日期 。 缺省日期格式為 DDMONYY,如 “ 0805月 03”代表 2022年 5月 8日 。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 【 練習(xí) 1】 顯示部門表中部門和所在城市列表 , 中間以下劃線 “ _”連接 , 城市名轉(zhuǎn)換成以大寫字母開頭 。1,1)函數(shù)返回 ename中從第一個(gè)字符位置開始 ,字符串 “ S”第一次出現(xiàn)的位置 。instr(ename,39。 執(zhí)行結(jié)果為: EMPNO ENAME LENGTH(ENAME) 7369 SMITH 5 7566 JONES 5 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 說(shuō)明:本例在字段列表和查詢條件中分別應(yīng)用了函數(shù)length 和 instr 。S39。 執(zhí)行結(jié)果為: EMPNO ENAME LENGTH(ENAME) 7369 SMITH 5 7566 JONES 5 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 【 訓(xùn)練 4】 顯示雇員名稱中包含 “ S”的雇員名稱及名稱長(zhǎng)度 。S39。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 【 訓(xùn)練 4】 顯示雇員名稱中包含 “ S”的雇員名稱及名稱長(zhǎng)度 。函數(shù) initcap將雇員名稱轉(zhuǎn)換成以大寫開頭。W39。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 【 訓(xùn)練 3】 顯示名稱以 “ W”開頭的雇員 , 并將名稱轉(zhuǎn)換成以大寫開頭 。該例中雇員名稱右側(cè)連接若干個(gè) “ .”, 湊足 15位 , 然后與雇員職務(wù)連接成列表 。),job) as 職務(wù)列表 FROM emp。 輸入并執(zhí)行查詢: SELECT concat(rpad(ename,15,39。 結(jié)果為: EMPNO ENAME DEPTNO 7698 BLAKE 30 說(shuō)明:該查詢將表中的雇員名轉(zhuǎn)換成小寫,與小寫的 blake進(jìn)行比較。 輸入并執(zhí)行查詢: SELECT empno, ename, deptno FROM emp WHERE lower(ename) =39。 D 39。 B 39。 A BC 39。 S S M IT H 39。 S 39。 39。 Hi 39。 39。 Hi 39。 r 39。 S t ri n g 39。 W e l l c o m 39。 S t ri n g 39。 Co u rs e 39。 S Q L 39。 S Q L c o u rs e 39。 S Q L Co u rs e 39。 S Q L Co u rs e 39。 A 39。 常用的字符型函數(shù)如表 26所示 。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 字符型函數(shù) 字符型函數(shù)包括大小寫轉(zhuǎn)換和字符串操作函數(shù) 。 結(jié)果為: ROUND(ABS(SIN(230*)),1) .8 說(shuō)明:本步驟進(jìn)行四舍五入 , 保留小數(shù)點(diǎn)后 1位 。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)計(jì)院 步驟 3:保留一位小數(shù) 。 SELECT abs(sin(230*)) FROM dual。 結(jié)果為: SIN(230*) ?.76604226 說(shuō)明:先將 230o轉(zhuǎn)換成為弧度,然后進(jìn)行計(jì)算求值。 步驟 1:執(zhí)行查詢 。 函數(shù)可以嵌套使用 , 看如下例子 。 SELECT cos() FROM dual。 執(zhí)行結(jié)果: MOD(1600,300) 100 說(shuō)明: 1600除以 300的商為 5, 余數(shù)為 100。 中國(guó)電信廣東公司 綜合部 廣東省電信規(guī)劃設(shè)