1. 程式人生 > >SQL必知必會-筆記(五)函數

SQL必知必會-筆記(五)函數

contact tac 我不 href 技術分享 gree table 轉換 問題

目錄

  • 函數
  • 匯總函數

函數

需要明確的一點是,SQL函數是不可移植的
大多數SQL支持一下類型的函數,

  • 用於處理文本字符串
  • 用於在數值上進行計算操作
  • 用於處理日期和時間
  • 返回DBMS正在使用的特殊信息,比如用戶登錄信息

常用的文本處理函數

函數 說明
LENGTH() 返回字符串的長度
LOWER() 將字符串轉換為小寫
UPPER() 將字符串轉換為大寫
RIGHT() 返回字符串右邊的字符
SOUNDEX() 返回字符串的SOUNDEX值

需要說明的是SOUNDEX()能對字符串進行發言比較而不是字母比較
比如說,我需要檢索聯系名為Michael Green的顧客名字,但是我不確定聯系名的正確拼寫方法,

select cust_name,cust_contact from Customers where cust_contact = ‘Michael Green‘;

這是檢索不到數據,
技術分享圖片

現在我們用SOUNDEX()試試,

select cust_name,cust_contact from Customers where SOUNDEX(cust_contact) = SOUNDEX(‘Michael Green‘);

技術分享圖片
這是才發現,原來正確的拼寫是Michelle Green

時間和日期處理函數在每種DBMS中都不太一致,下面以MySQL為例:

  • 問題:檢索2012年的所有訂單數量
  • 解:
select order_num from Orders where YEAR(order_date) = ‘2012‘;

常用的數值處理函數

函數 說明
ABS() 返回一個數的絕對值
PI() 返回圓周率
COS() 返回一個數的余弦值
TAN() 返回一個數的正切
SQRT() 返回一個數的平方根

匯總函數

函數 說明
AVG() 返回某列的平均值
COUNT() 返回某列的行數
MAX() 返回某列的最大值
MIN() 返回某列的最小值
SUM() 返回某列值之和

SQL必知必會-筆記(五)函數