1.取餘函式
mod(12,5)=2
2.四捨五入
round(1.354,1)=1.4
truncate(1.354,1)=1.3
3.十六進製制轉換函式
hex(『love』)=6c6f7665
unhex(6c6f7665)='love'
4.字元長度
char_length('date')=4
5.連線函式
concat_ws代表concat with separator,是concat()函式的特殊形式
concat_ws('-','1st','2nd','3rd')='1st-2nd-3rd'
concat_ws('-','1st',null,'3rd')='1st-3rd'
6.替換字串的函式
insert(s1,x,len,s2)
insert(s1,x,len,s2)函式跟sqlserver裡的stuff()函式的功能是一樣的
7.填充字串的函式
lpad(s1,len,s2)
rpad(s1,len,s2)
lpad('hello',4,'??')='hell'
lpad('hello',10,'??')='?????hello'
8.刪除空格的函式
trim(s)
mysql這裡比sqlserver方便
sqlserver要刪除兩邊的空格, select ltrim(rtrim(' hello '))
刪除指定字串的函式trim(s1 from s)
select trim('xy' from 'xyxboxyokxxyxy')=xboxyokx
9.重複生成字串的函式
repeat(s,n)
這個函式跟sqlserver裡的replicate()函式是一樣的,引數個數都是一樣的
10.比較字串大小的函式
strcmp(s1,s2)
strcmp('t','t2')=-1
strcmp('t2','t')=1
strcmp('t','t')=0
11.匹配子串開始位置的函式
locate(str1,str)、position(str1 in str)、instr(str,str1)3個函式作用相同,返回子字串str1在字串str中的開始位置
locate('ball','football')=5
position('ball' in 'football')=5
instr('football','ball')=5
12.返回指定位置的字串的函式
elt(n,字串1,字串2,字串3,...,),若n=1,則返回值為字串1,若n=2,則返回值為字串2,以此類推。
若n小於1或大於引數的數目,則返回值為null
elt(3,'1st','2nd','3rd')='3rd'
elt(3,'net','os')=null
13.返回指定字串位置的函式
field(s,s1,s2,...)
field(s,s1,s2,...)返回字串s在列表s1,s2,......中第一次出現的位置,在找不到s的情況下,返回值為0;如果s為null,則返回值為0.
field('hi','hihi','hey','hi','bas')=3
field('hi','hihi','lo','hilo','foo')=0
14.返回子串位置的函式find_in_set(s1,s2)
find_in_set(s1,s2)返回字串s1在字串列表s2中出現的位置,字串列表是乙個由多個逗號
『,』分開的字串組成的列表。如果s1不在s2或s2為空字串,則返回值為0。如果任意乙個引數為null,則返回值為null。
這個函式在第乙個引數包含乙個逗號『,』時將無法正常執行。
select find_in_set('hi','hihi,hey,hi,bas')=3
15.選取字串的函式make_set(x,s1,s2,...)
make_set(x,s1,s2,...)返回由x的二進位制數指定的相應位的字串組成的字串,s1對應位元1,s2對應位元01以此類推。
s1,s2...中的null值不會被新增到結果中。
make_set(1,'a','b','c')='a'
make_set(1|4,'hello','nice','world')='helloworld'
16.日期時間函式
utc_date() utc日期的函式
utc_time() utc時間的函式
monthname('2013-8-2')=『august』 獲取月份的函式
quarter('11-04-01')=2 指定日期對應的季度
minute('11-02-03 10:10:06')=10
second('10:23:10')=10
dayname('2009-3-2')=2009 返回年份
extract(year from '2013-2-3')=2013 返回年份
time_to_sec('23:22:00')=84120
sec_to_time('84120')
17.條件判斷函式
if(expr,v1,v2)函式
if(expr,v1,v2)如果表示式expr是true(expr<>0 and expr<>null),則if()的返回值為v1;否則返回值為v2
ifnull(v1,v2)函式
ifnull(v1,v2)假如v1不為null,則ifnull(v1,v2)的返回值為v1;否則其返回值為v2
18.加密和解密函式
password(str)
md5(str)
encode(str,pswd_str)
decode(crypt_str,pswd_str) 解密函式
MySQL函式 數學函式
數學函式主要用於處理數字,包括整型 浮點數等。函式 作用 1 abs x 返回x的絕對值 select abs 1 返回1 2 ceil x ceiling x 返回大於或等於x的最小整數 select ceil 1.5 返回2 3 floor x 返回小於或等於x的最大整數 select floo...
mysql ln函式 MySQL 數學函式
所有的數學函式在發生錯誤的情況下,均返回null。1 abs x 返回x的絕對值 2 sign x 以 1 0或1方式返回引數的符號,它取決於引數x是負數 0 或正數。3 mod n,m 取模 就如 c 中的 操作符 返回n被m除后的餘數 4 floor x 返回不大於x的最大整數值 5 ceili...
Mysql數學函式解析
所有的數學函式在乙個出錯的情況下返回null。單目減。改變引數的符號。mysql select 2 注意,如果這個操作符與乙個bigint使用,返回值是乙個bigint!這意味著你應該避免在整數上使用 那可能有值 2 63!abs x 返回x的絕對值。mysql select abs 2 2 mys...