SQL – 9.資料庫函數

來源:互聯網
上載者:User

(*)數字函數

執行備忘中的代碼

  • ABS() :求絕對值。
  • CEILING():舍入到最大整數 。3.33將被舍入為4、2.89將被舍入為3、-3.61將被舍入為-3。
    Ceiling→天花板
  • FLOOR():舍入到最小整數。3.33將被舍入為3、2.89將被舍入為2、-3.61將被舍入為-4。
    Floor→地板。
  • ROUND(欄位,小數位元):四捨五入。舍入到“離我半徑最近的數” 。Round→“半徑”。Round(3.1425,2)。


(*)字串函數

  • LEN() :計算字串長度
  • LOWER() 、UPPER () :lower轉小寫、upper大寫
  • LTRIM():字串左側的空格去掉
  • RTRIM () :字串右側的空格去掉
  • LTRIM(RTRIM('         bb        ')):去掉兩邊空格
  • SUBSTRING(string,start_position,length)
    參數string為主字串,start_position為子字串,
    在主字串中的起始位置,length為子字串的最大長度。
SELECT  SUBSTRING('abcdef111',2,3) 

 


日期函數

GETDATE() :取得當前日期時間

DATEADD (datepart , number, date ),計算增加以後的日期。

DATEDIFF ( datepart , startdate , enddate ) :計算兩個日期之間的差額。

DATEPART (datepart,date):返回一個日期的特定部分

 

  • GETDATE() :取得當前日期時間

    =====================================================

  • DATEADD (datepart , number, date ),計算增加以後的日期。參數date為待計算的日期;參數number為增量;參數datepart為計量單位,可選值見備忘。

    DATEADD(DAY, 3,date)為計算日期date的3天后的日期

    2012.7.28的3天后為7.31 

    而DATEADD(MONTH ,-8,date)為計算日期date的8個月之前的日期

    select DATEADD(MONTH,-8,GETDATE())

    2012.7減8個月為2011.11

      

    =====================================================

  • DATEDIFF ( datepart , startdate , enddate ) :計算兩個日期之間的差額。

    datepart 為計量單位,可取值參考DateAdd。 
     
    員工入職的時間

select FName,FInDate,DATEDIFF(YEAR,FInDate,GETDATE()) from T_Employee

統計不同工齡的員工的個數:

select DateDiff(year,FInDate,getdate()),count(*) from T_Employee group by DateDiff(year,FInDate,getdate())

        

 
=====================================================

  • DATEPART (datepart,date):返回一個日期的特定部分

    統計員工的入職年份個數:

    select DatePart(year,FInDate),count(*) from T_Employee

    group by DatePart(year,FInDate)

=====================================================

 

 

類型轉換函式

CAST ( expression AS data_type)

CONVERT ( data_type, expression)

 

              

CAST

             

CONVERT

             

 

SELECT FIdNumber,RIGHT(FIdNumber,3) as 後三位,CAST(RIGHT(FIdNumber,3) AS INTEGER) as 後三位的整數形式,CAST(RIGHT(FIdNumber,3) AS INTEGER)+1 as 後三位加1,CONVERT(INTEGER,RIGHT(FIdNumber,3))/2 as 後三位除以2 FROM T_Person

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.