SQL函數總結

SQL函數總結

彙總函數:

1.COUNT

該函數將返回滿足WHERE條件子句中記錄的個數!

SQL>SELECT COUNT(*)

FROM TEAMSTATS

WHERE HITS/AB<0.35;

2.SUM

SUM就如同它的本意一樣,它返回某一列的所有數值的和!

SQL>SELECT SUM(SINGLES) TOTAL_SINGLES

FROM TEAMSTATS;

3.AVG

AVG可以返回某一列的平均值!

SQL>SELECT AVG(SO) AVE_STRIKE_OUTS

FROM TEAMSTATS;

4.MAX

MAX返回某一列中的最大值!

SQL>SELECT MAX(HITS)

FROM TEAMSTATS;

5.MIN

MIN返回一列中的最小數值!

SQL>SELECT MIN(AB)

FROM TEAMSTATS;

6.VARIANCE

VARIANCE(方差)和數學公式中的方差有不同:

l         數學公式中的方差-VARIANCE如下:

(1/n)*[(X1-X)2+(X2-X)2+……+(Xn-X)2]

其中‘X拔’是X1X2……Xn的平均數

l         PLSQL中的方差(VARIANCE)爲如下:

VARIANCE:方差,數列中各項和平均值的差平方後求和,然後除以數列個數減一,得到的即爲方差。

SQL>SELECT VARIANCE(HITS) FROM TEAMSTATS;

7.STDDEV

STDDEV返回某一列數值的標準差!公式如下:

STDDEV:標準差,就是上面算出來的方差(VARIANCE)的開平方根

SQL>SELECT STDDEV(HITS) FROM TEAMSTATS;

日期/時間函數:

1.ADD_MONTHS

ADD_MONTHS將給定的日期增加一個月!

SQL>SELECT TASK,STARTDATE,ENDDATE ORIGINAL_END,

ADD_MONTHS(ENDDATE,2)

FROM PROJECT;

2.LAST_DAY

LAST_DAY將返回指定月份的最後一天!

SQL>SELECT ENDDATE,LAST_DAY(ENDDATE)

FROM PROJECT;

3.MONTHS_BETWEEN

MONTHS_BETWEEN將返回給定的兩個日期中有多少個月!

SQL>SELECT TASK,STARTDATE,ENDDATE,

MONTHS_BETWEEN(ENDDATE,STARTDATE) DURATION

FROM PROJECT;

4.NEW_TIME

NEW_TIME將把時間調整到你所在的時區!

簡寫            時區         

AST or ADT   大西洋標準時間

BST or BDT   英國夏令時

CST or CDT   美國中央時區

EST or EDT   美國東部時區

GMT          格倫威治標準時間

HST or HDT   阿拉斯加_夏威夷時間

MST or MDT   美國山區時間

NST          新大陸標準時間

PST or PDT   太平洋標準時間

YST or YDT   Yukon標準時間

SQL>SELECT ENDDATE EDT,NEW_TIME(ENDDATE,’EDT’,’PDT’)

FROM PROJECT;

5.NEXT_DAY

NEXT_DAY將返回與指定日期在同一個星期或之後一個星期內的,你所要求的最近的星期天數的確切日期!

SQL>SELECT STARTDATE,NEXT_DAY(STARTDATE,’星期五’)

FROM PROJECT;

6.SYSDATE

SYSDATE將返回系統的日期和時間!

SQL>SELECT DISTINCT SYSDATE

FROM PROJECT;

數學函數:

1.ABS

ABS將返回給定數字的絕對值!

SQL>SELECT ABS(A) ABSOLUTE_VALUE

FROM NUMBERS;

2.CEILFLOOR

CEIL返回與給定參數相等或比給定參數大的最小整數;

FLOOR正相反,返回與給定參數相等或比給定參數小的最大整數!

SQL>SELECT B,CEIL(B) CEILING,FLOOR(B) FLOOR

FROM NUMBERS;

3.COS,COSH,SIN,SINH,TAN,TANH

COS,SIN,TAN函數可以返回給定參數的三角函數值(餘弦、正弦,正切),默認的參數認定爲弧度制!

圓周率(圓周長/圓直徑)

弧度(弧長/半徑)

弧度與角度的關係:

pi=周長/直徑=周長/2*半徑)

2*pi=周長/半徑(對應角度是360度,等於360度對應的弧度)

因此,

1弧度=180/pi

1度=(pi/180)弧度=0.017453292222弧度

SQL>SELECT A,COS(A*0.01745329251994),SIN(A*0.017453),TAN(A*0.017453)

FROM NUMBERS;

COSH,SINH,TANH函數返回給定參數的雙曲函數值!

SQL>SELECT A,COSH(A*0.017453),SINH(A*0.017453),TANH(A*0.017453)

FROM NUMBERS;

4.EXP

EXP將返回以給定的參數爲指數,以E爲底數的冪值!

SQL>SELECT A,EXP(A) FROM NUMBERS;

5.LNLOG

LNLOG是兩個對數函數,其中LN返回給定參數的自然對數!(負數沒有對數!)

SQL>SELECT A,LN(ABS(A))

FROM NUMBERS;

LOG函數需要兩個參數,其中第二個參數爲底數!

SQL>SELECT B,LOG(B,10)

FROM NUMBERS;

6.MOD

MOD爲取模函數(返回AB參數相除後的餘數)!在ANSI標準中規定取模運算的符號爲%,但在一些解釋器中被函數MOD所取代!

SQL>SELECT A,B,MOD(A,B)

FROM NUMBERS;

7.POWER

POWER函數返回某一個數對另一個數的冪(第一個參數爲底數,第二個參數爲指數)!

注:第一個參數爲負數時,第二個參數必須爲整數(負數是不能開方的)!

SQL>SELECT A,B,CEIL(B),POWER(A,CEIL(B))

FROM NUMBERS;

8.SIGN

如果參數的值爲負數,那麼SIGN返回–1;

如果參數的值爲正數,那麼SIGN返回1;

如果參數爲零,那麼SIGN也返回零!

SQL>SELECT A,SIGN(A) FROM NUMBERS;

9.SQRT

SQRT函數返回參數的平方根(由於負數是不能開平方的,因此參數不能爲負數!)!

SQL>SELECT A,SQRT(ABS(A))

FROM NUMBERS;

字符函數:

1.CHR

CHR函數返回與所給數值參數在字符集中對應的字符!

SQL>SELECT CODE,CHR(CODE) FROM CHARACTERS;

2.CONCAT

CONCAT函數將兩個參數字符串連接起來,與||功能相當!

SQL>SELECT CONCAT(FIRSTNAME,LASTNAME) “FIRST AND LAST NAMES”

FROM CHARACTERS;

3.INITCAP

INITCAP將參數的第一個字母變爲大寫,其它的字母則轉換成小寫!

SQL>SELECT FIRSTNAME BEFORE,INITCAP(FIRSTNAME) AFTER

FROM CHARACTERS;

4.LOWERUPPER

LOWER將參數全部轉換爲小寫字母;

UPPER把參數全部轉換成大寫字母!

SQL>UPDATE CHARACTERS

SET FIRSTNAME=’kelly’

WHERE FIRSTNAME=’KELLY’;

SQL>SELECT FIRSTNAME,UPPER(FIRSTNAME),LOWER(FIRSTNAME)

FROM CHARACTERS;

5.LPADRPAD

這兩個函數最少需要兩個參數,最多需要三個參數。

第一個參數是需要處理的字符串;第二個參數是需要將字符串擴充的寬度;第三個參數表示加寬部分用什麼字符來做填補!(第三個參數的默認值爲空格!但也可以是單個的字符或字符串!)

LPADRPAD分別是左填充和右填充的意思!

SQL>SELECT LASTNAME,LPAD(LASTNAME,20,’*’),RPAD(FIRSTNAME,20,’*’)

FROM CHARACTERS;

6.LTRIMRTRIM

這兩個函數最少需要一個參數,最多需要兩個參數。

第一個參數是需要處理的字符串;第二個參數是需要剪除的字符或字符串!(第二個參數默認是空格!如不是空格,則將剪除指定的字符!)

LTRIMRTRIM分別是左剪除和右剪除的意思!

SQL>SELECT LASTNAME,RPAD(RTRIM(LASTNAME),20,’*’)

FROM CHARACTERS;

SQL>SELECT LASTNAME LTRIM(LASTNAME,’C’)

FROM CHARACTERS;

7.REPLACE

這個函數需要三個參數。

第一個參數是需要搜索的字符串;第二個參數是要搜索的內容;第三個參數則是需要替換的字符串!(如果第三個參數省略或者是NULL,那麼將只執行搜索操作並去除顯示!)

REPLACE是替換字符串中的特定字符!

SQL>SELECT LASTNAME,REPLACE(LASTNAME,’ST’) REPLACEMENT

FROM CHARACTERS;

SQL>SELECT LASTNAME,REPLACE(LASTNAME,’ST’,’**’) REPLACEMENT

FROM CHARACTERS;

8.SUBSTR

這個函數有三個參數。

第一個參數爲目標字符串;第二個參數是將要輸出的子串的起點;第三個參數是將要輸出的子串的長度!

SUBSTR將目標字符串中的一部分輸出!

SQL>SELECT FIRSTNAME,SUBSTR(FIRSTNAME,2,3)

FROM CHARACTERS;

9.TRANSLATE

這個函數有三個參數:目標字符串、源字符串和目的字符串。

TRANSLATE將目標字符串中有的源字符串的字符替換成目的字符串中的對應字符!

SQL>SELECT FIRSTNAME,TRANSLATE(FIRSTNAME,’AODCE’,’*/-+@’)

FROM CHARACTERS;

10.INSTR

INSTR函數指出在一個字符串中滿足特定搜索條件的字符或字符串的位置!

有四個參數:第一個參數是目標字符串;第二個參數是要搜索的內容;第三個參數是指定開始搜索的起點;第四個參數指出第幾個滿足條件的將會被返回!

SQL>SELECT LASTNAME,INSTR(LASTNAME,’O’,2,1)

FROM CHARACTERS;

11.LENGTH

LENGTH將返回指定字符串的長度!

SQL>SELECT FIRSTNAME,LENGTH(RTRIM(FIRSTNAME))

FROM CHARACTERS;

轉換函數:

1.TO_CHAR

TO_CHAR最初功能是將一個數字轉換爲字符型!(不同的解釋器會用它來轉換其它的數據類型爲字符型!)

SQL>SELECT TESTNUM,TO_CHAR(TESTNUM)

FROM CONVERSIONS;

2.TO_NUMBER

TO_NUMBER是將一個字符串型數字轉換爲數值型!

SQL>SELECT NAME,TESTNUM,TESTNUM*TO_NUMBER(NAME)

FROM CONVERSIONS;

其它函數:

1.GREATESTLEAST

GREATEST函數是返回幾個表達式中最大的;

LEAST函數是返回幾個表達式中最小的!

SQL>SELECT GREATEST(‘ALPHA’,’BRAVO’,’FOXTROT’,’DELTA’,’FP’)

FROM CONVERSIONS;

SQL>SELECT DISTINCT LEAST(34,567,3,45,1090)

FROM CONVERSIONS;

2.USER

USER函數將返回當前使用數據庫的用戶的名字。

SQL>SELECT DISTINCT USER

FROM CONVERSIONS;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章