資料庫函數整理

來源:互聯網
上載者:User

    這是作業嗎?算是吧,因為也許老師如果不留這個作業,我可能要好久才能想起來我之前在部落格園註冊過帳號,最近可能心態不對,之前在隨筆裡也說過了,人生如果要到達巔峰,則不應該懈怠每一秒,我現在在做什麼,我不知道,但是讀文章的現在呢?你心裡在想什麼,你多大了?是否已經虛度了大半的美好時光?好了,不多說,畢竟這篇是學術總結,不是抒發心情的。

    在書中介紹了4種函數:①字串函數 (8個)②日期函數 (5個)③數學函數 (8個)④系統函數  (6個) 。一共27個,下面根據我查的和書上寫的我來一一總結。

字串函數:

1.CHARINDEX

如果根據我目前已知的對單詞的瞭解,char是字元,index是索引。而根據之前JAVA和C#學習,知道有indexOf方法,所以我沒看解釋之前就已經明白了,這個函數是用來尋找一個字串在另一個字串中出現的位置,而書上的描述和我所想的一樣是:用來尋找一個指定的字串在另一個字串中的起始位置。

舉例:select charindex('NAME',My name is Tom,1)

返回:4 (在My name is Tom這個字串中 出現字串NAME的第一次的位置是4)

 

2.LEN

在之前學過的JAVA和C#中學過length的方法的屬性(在JAVA中為方法,C#中為屬性),所以看到LEN函數自然而然的聯想到了字串長度這塊,書中的描述是:返回傳遞給它的字串長度。

舉例:select len('SQL Sever 課程')

返回:12

 

3.UPPER

根據我自己所學的英語知識UPPER的意思是更高,之前在Java和C#中學過的也有類似的方法,所以該函數的意思應該是把字串轉換為大寫形式,書中的描述是:把在傳遞給它的字串轉換為大寫。

舉例:select upper('sql server 課程')

返回:SQL SERVER 課程

 

4.LTRIM與RTRIM

在之前學過的JAVA和C#中,方法trim是去除字串前後的空格。在T-SQL中,該函數的意思與trim方法一樣,去除空格。而在資料庫中,可以控制去掉左邊的空格,或者去掉右邊的空格。書中的描述就是如此。

舉例:select ltrim(' 周智宇 ')    // select rtirm (' 周智宇 ')

返回:周智宇 (後面的空格保留)  //   周智宇(前面的空格保留)

 

5.RIGHT

right在英語中的意思是正確、右邊的意思,而在T-SQL中的right()函數的意思,在書中的描述是:從字串右邊返回指定數目的字元

舉例:select right('買賣提.吐爾松',3)

返回:吐爾松  (從右往左數,第三個字元長度的位置為“吐”)

 

6.REPLACE

place在英語中的意思是空間,位置。在T-SQL中REPLACE()函數是用來替換一個字串中的字元。

舉例:select replace('莫樂可切.楊可','可','蘭')

返回:莫樂蘭切.楊蘭

7.STUFF

在英語中的意思:

  • n. 東西;材料;填充物;素材資料
  • vt. 塞滿;填塞;讓吃飽
  • vi. 吃得過多

我覺得在這裡的意思應該是填充,書上的描述是:在一個字串中,刪除指定長度的字元,並在該位置插入一個新的字串

舉例:select stuff('ABCDEFG',2,3,'我的音樂我的世界')

返回:A我的音樂我的世界EFG (第一個字元位置下標從1開始取,第二個字元位置下標從0開始取)

 

日期函數

1.GETDATE

函數意義:取得當前的系統日期

舉例: select getdate()

返回:今天的日期

例如:2013-5-30 19:22:29

 

2.DATEADD

函數意義:將制定的數值添加到制定的日期部分後的日期

舉例:select dateadd(mm,4'01/01/2009')

返回:以當前的日期格式返回05/01/2009

 

3.DATEDIFF

函數意義:兩個日期之間的指定日期部分的間隔

舉例:select datediff(mm,'01/01/2009','05/01/2009')

返回:4

 

4.DATENAME

函數意義:日期中制定日期部分的字串形式

舉例:select datename(dw,'01/01/2000')

返回:Saturday或星期六

 

5.DATEPART

函數意義:日期中指定日期部分的整數形式

舉例:select datepart(day,'01/15/2000')

返回:15

 

日期部分參數            縮寫            |       日期部分參數                    縮寫       

year                      yy,yyyy       |       weekday                       dw,w   

quarter                  qq,q           |        hour                             hh        

month                    mm,m        |        minute                          mi,n    

dayofyear               dy,y           |        second                          ss,s     

day                         dd,d           |         millisecond                   ms      

week                      wk,ww                                                                 

 

數學函數:

 1.RAND

函數意義:返回從0到1之間的隨機float值

舉例:select rand()

返回:0.79288062146374

 

2.ABS

函數意義:取數值運算式的絕對值

舉例:select abs(-43)

返回:43

 

3.CEILING

函數意義:向上取整,取大於或等於制定數值、運算式的最小整數

舉例:select ceiling(43.4)

返回:44

 

4.FLOOR

函數意義:向下取整,去小於或等於指定運算式的最大整數

舉例:select floor(43.5)

返回:43

 

5.POWER

函數意義:取數值運算式的冪值

舉例:select power(5,2)

返回:25(相當於5的2次方)

 

6.ROUND

函數意義:將數值運算式四捨五入為指定精度

舉例:select round(43.543,1)

返回:43.500

 

7.SIGN

函數意義:對於正數返回1,對於負數返回-1,對於0返回0(用來判斷一個數是正負或0)

舉例:select sign(-43)

返回:-1

 

8.SQRT

函數意義:取浮點運算式的平方根

舉例:select sqrt(9)

返回:3

 

 

 

系統函數:

1.CONVERT:

在英語中convert的意思:

  • vt. 使轉變;轉換…;使…改變信仰
  • vi. 轉變,變換;皈依;改變信仰
  • n. 皈依者;改變宗教信仰者

在這裡自然是轉換的意思,知道了什麼意思,再來看這個函數那麼我相信會容易很多。書上的描述是:用來轉變資料類型。

例如:select convert(varchar(5),12345)

返回:字串12345(註:在轉換之前為int類型)

 

2.CURRENT_USER

函數意義:返回目前使用者名字

舉例:select current_user

返回:你登陸的使用者名稱

 

3.DATELENGTH

函數意義:返回用於指定運算式的位元組數

舉例:select datelength('中國 A 聯盟')

返回:5

 

4.HOST_NAME

函數意義:返回目前使用者所登入的電腦名稱字

舉例:select hostname_name()

返回:你所登入的電腦的名字

 

5.SYSYTEM_USER

函數意義:返回當前所登入的使用者名稱稱

舉例:select system_user

返回:你當前所登入的使用者名稱

 

6.USER_NAME

函數意義:從給定的使用者ID返回使用者名稱

舉例:select user_name(1)

返回:從任意資料庫中返回"dbo"

                                                                                                第一次修改時間:2013年5月30日20:22:43

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.