日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

不错的SQL

發布時間:2025/4/14 数据库 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 不错的SQL 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Single-Row Functions

?? 單行函數
?? #Objectives
??? After compleing this lesson,you should be able to?
??? do the following:
???? -Describe variours types of function available
????? in SQL
???? -Use character,number,and date functions in?
????? SELECT?statements
???? -Describe the use of conversion functions
??
?? #SQL Functions?
??? -Two types of SQL Functions
???? ·Single-row functions (one to one)
???? ·Multiple-row functions (multiple to one)
??? -函數與過程的區別
??????? 函數是用來計算一個值或某些值,過程是主要用來完成某個動作.
??? -Single-Row Functions
????? ·Manipulate data items 操作數據項
????? ·Accept arguments and return one value 接受參數返回一個值
????? ·Act on each row returned 命令在每一行返回
????? ·Return one result per row 每行返回一個結果
????? ·May modify the data type 可以修改的數據類型
????? ·Can be nested 可以被嵌套
????? ·Accept arguments which can be a column or an
??????? expression 接受參數可以是一個欄位或一個表達式
??? -Single-Row Functions Types
????? ·Character 字符型
???????? -Case-Manipulation functions 字符大小寫處理的函數
????????? ㈠LOWER 全部小寫
????????? ㈡UPPER 全部大寫
????????? ㈢INITCAP 每個單詞開始的第一個位置大寫
???????????? function???????????? result
???????? lower('SQL Course')??? sql course
???????? upper('SQL Course')??? SQL COURSE
???????? initcap('SQL Course')? Sql Course??
???????? -Character-Manipulation functions 字符處理的函數?
????????? ㈠CONCAT 連接輸入的兩個參數
????????? ㈡SUBSTR 基于第一個參數的值,索引從第二個參數開始
?????????????????? 經過第三個參數長度的字符(索引基數為1)
????????? ㈢LENGTH 返回參數的長度
????????? ㈣INSTR 從參數一中索引,參數二中所對應的值,返回其索引
????????????????? 沒有返回0?????????
????????? ㈤LPAD|RPAD 參數一如果不夠參數二所指定的大小那么
????????????????????? 就左(右)填充參數三所指定的值添滿為止??????????????
????????? ㈥TRIM 從參數二中截取字符參數一返回,一次只能截取一個
???????????????? 字符且只能夠從參數兩端的第一個開始截取
????????? ㈦REPLACE 把參數一中的參數二替換成參數三如果不含參數三
??????????????????? 則把參數一中的參數二全部去掉
??????????????? function?????????????????? result
???????? CONCAT('Hello','world')?????????? Helloworld
???????? SUBSTR('Helloworld',6,5)????????? world
???????? LENGTH('Helloworld')????????????? 10
???????? INSTR('Helloworld','w')?????????? 6
???????? LPAD(SAL,10,'!')????????????????? !!!!!29000
???????? RLPAD(SAL,10,'!')???????????????? 29000!!!!!
???????? TRIM('h'from'helloworld')???????? elloworld
???????? REPLACE('helloworld','l','@')?????
????? ·Number 數字型
???????? -ROUND:Rounds value to specified decimal
?????????????? ROUND(45.926,2)------>45.93
???????? -TRUNC:Truncates?value to specified decimal
?????????????? TRUNC(45.926,2)------>45.92
???????? -MOD:Returns remainder of division
?????????????? MOD(1400,300)? ------>200
???????? 注意:如果ROUND、TRUNC的第二個參數為負是意思就是從
????????????? 小數點往左取如ROUND(45.926,-1)------>50
????? ·Date 日期型
???????? -SYSDATE:? 當前時間
????????????? sysdate---->12-2月 -07???
???????? -MONTHS_BETWEEN: 兩個時間點間的相差的月
????????????? MONTHS_BETWEEN(add_months(sysdate,6),sysdate)----->6
???????? -ADD_MONTHS: 在指定的時間點加入幾個月
????????????? ADD_MONTHS(sysdate,6)-------->12-8月 -07
???????? -NEXT_DAY: 返回指定時間點的下一個時間點
????????????? NEXT_DAY(sysdate,'星期一')------>19-2月 -07
???????? -LAST_DAY: 返回指定時間點的月的最后一天
????????????? LAST_DAY(sysdate)------>28-2月 -07
???????? -ROUND: 四舍五入
????????????? ROUND(last_day(sysdate))----->01-3月 -07
????????????? ROUND(sysdate,'month')---->01-2月 -07
????????????? ROUND(add_months(sysdate,5),'year')---->01-1月 -08
????????????? 當ROUND(sysdate,'year')中月大于6時返回01-1月 -08
???????? -TRUNC: 截取
????????????? TRUNC(last_day(sysdate))----->28-2月 -07
????????????? TRUNC(sysdate,'month')----->01-2月 -07
????????????? TRUNC(add_months(sysdate,5),'year')---->01-1月 -07
????? ·Conversion 轉換型
???????? -Implicit date type conversion 隱式數據類型的轉換
???????????????????? From????????? To
????????????? VERCHAR2 or CHAR???? NUMBER
????????????? VERCHAR2 or CHAR???? DATE
????????????? NUMBER?????????????? VERCHAR2
????????????? DATE???????????????? VERCHAR2
???????? -Explicit date type conversion?
??????????????????? TO_NUMBER?????????? TO_DATE?
??????????? NUMBER←=======→CHARACTER←=======→DATE
??????????????????? TO_CHAR???????????? TO_CHAR???
??????????? TO_CHAR: ...轉換成字符
?????????????? TO_CHAR(sysdate,'YYYY-month-dd')----->2007-2月 -12
?????????????? TO_CHAR(sysdate,'YYYY-month-day')----->2007-2月 -星期一
?????????????? TO_CHAR(293.936,'$999.99')------>$293.94
?????????????? TO_CHAR(293.936,'L999.99')------>RMB293.94
??????????? TO_NUMBER: ...轉換成數字
?????????????? TO_NUMBER('1200')----->1200
??????????? TO_DATE: ...轉換成日期
?????????????? TO_DATE('07-2月 -12')-----07-2月 -12
????? ·General 通用型
????????? -NVL(expr1,expr2):如果expr1,為null則expr2替換expr1
????????????? NVL(ename,'Not Name')
???????????????? -->如果字符型欄位ename為null則顯示字符Not Name
????????????? NVL(sal,0)
???????????????? -->如果數字型欄位sal為null則顯示數字0
????????????? NVL(hiredate,'03-12月-81')
???????????????? -->如果日期型欄位hiredate為null則顯示日期03-12月-81
????????????? 注意:在NVL(hiredate...中如果您輸入的日期格式不于hiredate
?????????????????? 欄位日期格式相匹配會報ORA-01861錯
例:
SQL> select ename,nvl(ename,'Not Name') from emp
? 2? where empno>7899;

ENAME????? NVL(ENAME,
---------- ----------
?????????? Not Name
FORD?????? FORD
MILLER???? MILLER
SQL>????????
????????? -NVL2(expr1,expr2,expr3):如果expr1,為null則expr3替換expr1
????????????????????????????????? 不為null則expr2替換expr1
例:
SQL> select ename,nvl2(ename,'Have Name','Not Name') from emp
? 2? where empno>7899;

ENAME????? NVL2(ENAM
---------- ---------
?????????? Not Name
FORD?????? Have Name
MILLER???? Have Name

SQL>?
????????? -NULLIF(expr1,expr2):如果expr1,expr2相等則顯
???????????????????????????? 示為null,否則顯示expr1
例:
SQL> select ename,job,nullif(length(ename),length(job)) from emp
? 2? where empno<7600;

ENAME????? JOB?????? NULLIF(LENGTH(ENAME),LENGTH(JOB))
---------- --------- ---------------------------------
SMITH????? CLERK
ALLEN????? SALESMAN????????????????????????????????? 5
WARD?????? SALESMAN????????????????????????????????? 4
JONES????? MANAGER?????????????????????????????????? 5

SQL>?
????????? -COALESCE(expr1,expr2......,exprn):從1開始直到n顯示最早
???????????????????????????????????????????? 一個不為null的值
?????????? 注意:在COALESCE()函數里表達式的類型必需相同可以用to_char
?????????????? 等轉換如果類型不同則報ORA-00932錯
例:
SQL>select ename,sal,comm,coalesce(ename,to_char(comm),to_char(sal)) coalesce from emp
? 2? where empno>7888;

ENAME???????????? SAL?????? COMM COALESCE
---------- ---------- ---------- ----------------------------------------
????????????????? 950??????????? 950
FORD???????????? 3000??????????? FORD
MILLER?????????? 1300??????????? MILLER

SQL>

????? -Conditional Expression 條件表達式
??????? ·Provide the use of IF-THEN-ELSE logic within a
????????? SQL statement
??????? ·Use two methods:
?????????? -CACE exptession?
例:
SQL> select empno,ename,job,sal,
? 2? case job when 'CLERK' then 1.1*sal
? 3?????????? when 'SALESMAN' then 1.3*sal
? 4?????????? when 'MANAGER' then 1.4*sal
? 5? else sal end? "++SAL"
? 6? from emp;

???? EMPNO ENAME????? JOB????????????? SAL????? ++SAL
---------- ---------- --------- ---------- ----------
????? 7369 SMITH????? CLERK??????????? 800??????? 880
????? 7499 ALLEN????? SALESMAN??????? 1600?????? 2080
????? 7521 WARD?????? SALESMAN??????? 1250?????? 1625
????? 7566 JONES????? MANAGER???????? 2975?????? 4165
????? 7654 MARTIN???? SALESMAN??????? 1250?????? 1625
????? 7698 BLAKE????? MANAGER???????? 2850?????? 3990
????? 7782 CLARK????? MANAGER???????? 2450?????? 3430
????? 7788 SCOTT????? ANALYST???????? 3000?????? 3000
????? 7839 KING?????? PRESIDENT?????? 5000?????? 5000
????? 7844 TURNER???? SALESMAN??????? 1500?????? 1950
????? 7876 ADAMS????? CLERK?????????? 1100?????? 1210

???? EMPNO ENAME????? JOB????????????? SAL????? ++SAL
---------- ---------- --------- ---------- ----------
????? 7900??????????? CLERK??????????? 950?????? 1045
????? 7902 FORD?????? ANALYST???????? 3000?????? 3000
????? 7934 MILLER???? CLERK?????????? 1300?????? 1430

已選擇14行。
?????????? -DECODE function
例:
SQL> run
? 1? select empno,ename,sal,job,
? 2? decode(job,'CLERK',1.1*sal,
? 3???????????? 'SALESMAN' ,1.15*sal,
? 4???????????? 'MANAGER' ,1.3*sal,
? 5???????? sal)
? 6? "SAL++"
? 7* from emp

???? EMPNO ENAME???????????? SAL JOB??????????? SAL++
---------- ---------- ---------- --------- ----------
????? 7369 SMITH???????????? 800 CLERK??????????? 880
????? 7499 ALLEN??????????? 1600 SALESMAN??????? 1840
????? 7521 WARD???????????? 1250 SALESMAN????? 1437.5
????? 7566 JONES??????????? 2975 MANAGER?????? 3867.5
????? 7654 MARTIN?????????? 1250 SALESMAN????? 1437.5
????? 7698 BLAKE??????????? 2850 MANAGER???????? 3705
????? 7782 CLARK??????????? 2450 MANAGER???????? 3185
????? 7788 SCOTT??????????? 3000 ANALYST???????? 3000
????? 7839 KING???????????? 5000 PRESIDENT?????? 5000
????? 7844 TURNER?????????? 1500 SALESMAN??????? 1725
????? 7876 ADAMS??????????? 1100 CLERK?????????? 1210

???? EMPNO ENAME???????????? SAL JOB??????????? SAL++
---------- ---------- ---------- --------- ----------
????? 7900?????????????????? 950 CLERK?????????? 1045
????? 7902 FORD???????????? 3000 ANALYST???????? 3000
????? 7934 MILLER?????????? 1300 CLERK?????????? 1430

已選擇14行。

?

???????????????????????????????????????????????? summary
In this lesson ,you should have learned how to:
? ·Perform calculations on data using funtions
? ·Modify individual data items using funtions
? ·Manipulate output for groups of rows using
??? functions
? ·Alter date formats for display using functions
? ·Convert column data types using functions
? ·Use NVL functions
? ·Use IF-THEN-ELSE logic #Sql

總結

以上是生活随笔為你收集整理的不错的SQL的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色网址www | 久久久久久久中文字幕 | 嫩草网站在线观看 | 日本视频www色 | 三级网站在线播放 | 欧美人体视频 | 中文字幕不卡在线 | 性xxxx欧美老肥妇牲乱 | 免费看一级黄色大全 | 美女av片| 91www| 日韩在线观看网站 | 日韩精品人妻一区二区中文字幕 | 欧美色噜噜 | av在线男人天堂 | 日本一区二区在线视频 | 久久噜噜| 求免费黄色网址 | 欧美xxxxx高潮喷水麻豆 | 99色婷婷 | 91操视频 | 日韩在线二区 | 少妇精品久久久久久久久久 | 动漫美女隐私无遮挡 | 日本一级一片免费视频 | 搡国产老太xxx网站 高h喷汁呻吟3p | 男人的亚洲天堂 | 69久久成人精品 | 国产农村妇女精品久久久 | 韩国久久久 | 国产一区二区精品在线 | 欧美另类高清 | 国产乱国产乱 | 亚洲无码久久久久 | 日本不卡三区 | 亚洲视频一二三 | 长腿校花无力呻吟娇喘的视频 | 国产又粗又大又爽 | 成人精品在线 | 最新超碰 | 欧美精品一区二 | 色七七桃花影院 | 韩国精品在线观看 | 久久综合色综合 | 91色精品 | 国产视频分类 | 黑人精品一区二区三区 | 蜜桃中文字幕 | 亚洲中国色老太 | 午夜一级免费 | 精品999久久久 | 91人妻一区二区三区蜜臀 | 91国在线啪 | 黄网视频在线观看 | 超碰av人人 | av青草| 欧洲做受高潮免费看 | 秋霞一级视频 | 男女在线观看视频 | 激情五月在线 | 国产一区二区三区小说 | 国产亚洲精品久久久久久打不开 | 97超级碰碰碰 | 国产熟妇乱xxxxx大屁股网 | 黄色理论视频 | 香蕉大久久 | 欧美美女性高潮 | 久久精品国产精品亚洲色婷婷 | 亚洲色图欧美日韩 | 欧美图片一区 | 三女同志亚洲人狂欢 | 国产做a视频 | 五月婷婷在线观看 | 夜夜嗨av色一区二区不卡 | 成人免费视频网站在线观看 | 日韩av免费网站 | 91视频网| 久久精品综合 | 日韩av影片 | 污污在线看 | 久久丁香网 | 2019天天操| 三上悠亚激情av一区二区三区 | 91九色成人 | 午夜精品久久久久久久久久 | 国产欧美日韩一区二区三区 | 少妇人妻真实偷人精品视频 | 高潮无码精品色欲av午夜福利 | 美国成人av | 爱草av| av88av| 亚洲老女人视频 | 亚洲精品在线观看视频 | 国产视频导航 | 一边摸一边做爽的视频17国产 | 日本午夜视频在线观看 | 六月丁香在线视频 | 亚洲性猛交 | 久久综合九色综合欧美狠狠 |