找回密码
 立即注册
欢迎中测联盟老会员回家,1997年注册的域名
查看: 1677|回复: 0
打印 上一主题 下一主题

mysql常用函数大全

[复制链接]
跳转到指定楼层
楼主
发表于 2018-3-21 16:07:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、字符串函数
- Z* g2 k5 `8 J6 }ascii(str)   : a! @4 z9 M# j1 W# b
返回字符串str的第一个字符的ascii值(str是空串时返回0)  
/ U/ Z# k2 C" R% O, umysql> select ascii('2');  
1 J& ]" |: K6 E3 @7 B  -> 50  
* V& y# R; {/ b. {. y5 }3 @mysql> select ascii(2);  6 S: y- H7 `. _# _0 Q
  -> 50  
$ p" x8 D' p* o- u( s8 Vmysql> select ascii('dete');  ' f) t" X! v0 J6 f9 S: a+ b
  -> 100

9 [1 v8 a3 s1 {' J4 ^ord(str)   
5 h! B9 _0 {3 }# R如果字符串str句首是单字节返回与ascii()函数返回的相同值。" x1 K$ A- x9 N0 S, Z5 }3 x5 s

+ e3 j+ |! W. d# X% h- ~$ |如果是一个多字节字符,以格式返回((first byte ascii code)*256+(second byte ascii code))[*256+third byte asciicode...]  ' Z1 _9 E' d2 R
mysql> select ord('2');  % Q6 V: k: j0 x8 Q& ?7 W
  -> 50  
/ _; e! l9 p  Q: Z/ N   
) `7 ~. `; c$ \8 H" jconv(n,from_base,to_base)   1 I& p: R+ q5 @( S
对数字n进制转换,并转换为字串返回(任何参数为null时返回null,进制范围为2-36进制,当to_base是负数时n作为有符号数否则作无符号数,conv以64位点精度工作)    |/ G  Q8 V. ?4 ~: {- I0 p3 P
mysql> select conv("a",16,2);  8 \; \$ c# W+ U3 N7 h( e2 k
  -> '1010'
' F$ F2 [& r: X5 mmysql> select conv("6e",18,8);  1 k& N; L" s4 {% a) y/ O
  -> '172' % Q2 y8 A  W- a& z
mysql> select conv(-17,10,-18);  
% j  ?6 M- B$ M$ P9 |* |  -> '-h'
( r  T7 v  G0 tmysql> select conv(10+"10"+'10'+0xa,10,10);  # [: U7 f. r3 }# u
  -> '40' $ [  w; G& C+ {% z
   
  ~( w8 i, ^( Y1 F2 x1 Y% r- bbin(n)   
) y9 ]* a' ?( y# F' q0 \把n转为二进制值并以字串返回(n是bigint数字,等价于conv(n,10,2))  
( @; o- H- Z) C$ p) |mysql> select bin(12);  
: f3 z6 ~% H5 E: c( ?  -> '1100' , W" ~5 ?& s$ p( Z
& d. `9 p& `( ^3 D
oct(n)   2 ~4 ?9 ~/ e: g/ V! P+ D
把n转为八进制值并以字串返回(n是bigint数字,等价于conv(n,10,8))  & E) b4 D( C% D- @/ u
mysql> select oct(12);  ) u% I/ L7 F8 x- ~3 w3 l5 T
  -> '14'
. x: T2 U0 c0 \3 B% U   
* ?6 i2 z( s% Q& a8 e6 p# T, \4 khex(n)   1 s; ?7 G& K3 m2 |' Q
把n转为十六进制并以字串返回(n是bigint数字,等价于conv(n,10,16))  
( W& [9 Y- z8 [mysql> select hex(255);  
0 y4 H5 }) K$ y4 c% z' N$ u  -> 'ff'
+ f9 }- v& W. n2 o7 M# [9 I   
9 _, J3 A6 U) s4 {char(n,...)   1 E2 ~2 G$ A& Y1 T
返回由参数n,...对应的ascii代码字符组成的一个字串(参数是n,...是数字序列,null值被跳过)   * l7 m& u9 \6 D7 \0 Y! h; A8 t* h
mysql> select char(77,121,83,81,'76');  8 }8 g/ f# w! F! V
  -> 'mysql' 6 ?) T% I% x! Z
mysql> select char(77,77.3,'77.3');  
' @/ t  ^8 P/ y1 b  -> 'mmm' & U+ N/ W6 R% x  f7 G# T
   
. ]9 Z4 {7 f1 bconcat(str1,str2,...)  
) p6 K- e, c" m* g/ ?把参数连成一个长字符串并返回(任何参数是null时返回null)  
0 Z: U+ ?1 r0 Fmysql> select concat('my', 's', 'ql');  & K0 N2 Y9 H  x2 F" u+ g1 P' h  }# |
  -> 'mysql' 3 e/ r4 e) K. r  l+ u0 u; _
mysql> select concat('my', null, 'ql');  % P( _+ o* M1 ~
  -> null ; l. h7 q% O% b3 X1 [
mysql> select concat(14.3);  2 u# e! {1 j$ V" x* ~
  -> '14.3'
) p4 o( r( P) F) R9 |& B
0 C  X" k* e( M  \, n* alength(str)   
4 t2 _/ u& [' [/ G; Boctet_length(str)  
0 e/ m* i6 x1 {) V/ U( V  L, Cchar_length(str)  ' @- N+ G$ B* m, R2 z5 F
character_length(str)  
$ b4 F- H, k" |+ O& M$ @+ @; h+ s返回字符串str的长度(对于多字节字符char_length仅计算一次)
5 I! {! {/ W! ~1 l) Imysql> select length('text');  4 C) a2 {( M* c% U$ a4 T/ \& l
  -> 4  
; H6 g3 l" D+ q3 Jmysql> select octet_length('text');  # C1 L1 Q( b8 L  c, ?7 }
  -> 4  
# V, s+ c0 N2 m1 D3 Q / r/ J( v: Z1 o  u/ a4 I
locate(substr,str)   . e/ V1 |, W2 d' X' O" p2 r' T/ W
position(substr in str)   $ c$ e5 g9 G& v  A/ f# t, [# z
返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)  - M: j* l( _, {) ]* C% d4 @
mysql> select locate('bar', 'foobarbar');  
3 }9 I& o8 z7 z; z+ s  -> 4  7 U8 x. m8 X; @+ a5 {$ N
mysql> select locate('xbar', 'foobar');  , Z' `; l4 v* M# D. C9 |& ~& E
  -> 0  
% Q* P. c) N/ V$ S3 a$ U# H/ c    , r5 f7 _5 W: s
locate(substr,str,pos)
# A7 `3 A' P- k9 x) a% a返回字符串substr在字符串str的第pos个位置起第一次出现的位置(str不包含substr时返回0)  * M3 c" ^8 `6 Z8 F( l
mysql> select locate('bar', 'foobarbar',5);  ' k) }& W' \; {' T- E. d
  -> 7  
7 M1 W: p' \6 f8 e! \: v" J
0 n; f. l$ H  w' ~9 U% _instr(str,substr)     Q& v; F# I0 n4 T. k- W
返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)  
8 X# I( I& A7 t! _6 z% Y' L  N$ ]7 z$ Mmysql> select instr('foobarbar', 'bar');  2 S7 w- m9 v! T! q
  -> 4  
3 S, d9 D, ~* z0 g8 m, a4 lmysql> select instr('xbar', 'foobar');  
# _2 ]8 r$ m; P$ ]8 O  -> 0   ! N! \2 J0 S" z9 g7 ^8 ~: i4 f/ O

6 P8 c; k1 B% F0 J3 V4 ^lpad(str,len,padstr)   4 @0 \/ Y- L/ `& B" I) V' o9 B
用字符串padstr填补str左端直到字串长度为len并返回  " J$ R# y& s. [6 T$ h6 c: L' t1 q. T
mysql> select lpad('hi',4,'??');  
, f1 E. n. i1 K8 f. b# A, V  -> '??hi'
2 ^5 r* W  Q7 A1 w& Z   6 ~2 ~% s( j& P* @  y' s; j
rpad(str,len,padstr)   6 j! U: @9 c+ L, P" a4 B' Q; ~4 u
用字符串padstr填补str右端直到字串长度为len并返回  7 t8 Q( S( U* F3 ?
mysql> select rpad('hi',5,'?');  
2 q3 h1 z0 Y  S3 I1 x. I# ]  -> 'hi???'
' D: c& w+ i' C2 k  n" C7 }3 Z ) A. N9 f/ e& [
left(str,len)   9 i& s! u4 T! K. A: P8 a9 F' }
返回字符串str的左端len个字符  , ]% J7 o2 R0 d5 `: M6 G
mysql> select left('foobarbar', 5);  
# P: ~, X: ]/ F1 _) C  -> 'fooba'
" q1 `6 {. w/ Q. @3 n& S / b2 ?2 x% Q, @
right(str,len)   
3 H1 M* B8 Q$ O1 F返回字符串str的右端len个字符   
' P3 g8 R0 Z5 y) tmysql> select right('foobarbar', 4);  ' p9 R/ B! j7 {7 @
  -> 'rbar'
: I; \5 x( e, l) x
3 x" V6 q  ?4 c! Q/ u# [' e6 |0 ]  ]- @substring(str,pos,len)   7 k$ ?$ z7 s* O' [; D# m9 x
substring(str from pos for len)   
6 S! K* E) C8 v( @" fmid(str,pos,len)   ; c+ W6 N0 W$ }* F- i8 R' u
返回字符串str的位置pos起len个字符mysql> select substring('quadratically',5,6);  
" T2 u/ W* q% T/ [+ g  -> 'ratica'
7 k+ B/ W% ]# H5 [; `4 z ) m$ |1 b0 L  c5 k8 C5 O' Z4 r
substring(str,pos)   
( V4 c9 b! g8 X! o, E  \4 M/ C1 ~substring(str from pos)   
' r: p5 z4 Q" w( b% ~( B返回字符串str的位置pos起的一个子串  
) d0 e( H2 U( ~( M8 `- k$ _mysql> select substring('quadratically',5);  
3 o  r) l8 o  }* a! _  -> 'ratically' ; Z' H% Y1 G- B5 C& I1 t' P" B
mysql> select substring('foobarbar' from 4);  + a5 s3 H$ C* I# R6 S! B* Z' q7 d9 P
  -> 'barbar'
3 ]  g) a# f0 B4 Q
9 W. a+ P+ J( r. v1 Msubstring_index(str,delim,count)   9 K9 m2 V& l6 b) {3 A' C
返回从字符串str的第count个出现的分隔符delim之后的子串$ f! Y8 T3 Q' _$ |% t5 W
(count为正数时返回左端,否则返回右端子串)  4 R% x0 j  X+ {# D
mysql> select substring_index('www.mysql.com', '.', 2);  2 v# }9 y; f: ^. s1 h. |' M
  -> 'www.mysql' $ r  {0 \% f3 `
mysql> select substring_index('www.mysql.com', '.', -2);  
* Z/ c7 N$ E' v% N! ]  -> 'mysql.com' . H& i  L9 c9 H1 j7 H; I
& x2 h* k! Y2 ]; Y2 R- J, {# C- l$ P
ltrim(str)   
; @! B% r$ p4 k8 v" \返回删除了左空格的字符串str  1 z, [6 v$ j+ _0 L
mysql> select ltrim('  barbar');  8 E) H& c. y9 ^. m# c  z
  -> 'barbar'
' i6 C) n& d( t( [7 o9 A , J) }5 Y) t1 `- ~0 u
rtrim(str)   
# x- [6 ]+ ?( `' @% R: ?! y4 k6 e! B返回删除了右空格的字符串str  
- T2 V) l1 Y0 t) l. k! O( smysql> select rtrim('barbar   ');  
9 L- W6 L5 C6 c, r2 [  -> 'barbar'
4 [3 h( {7 ]/ h$ B5 P - g5 k: S( x6 y2 U' r
trim([[both | leading | trailing] [remstr] from] str)  
# M  S; p" A$ Z* {返回前缀或后缀remstr被删除了的字符串str(位置参数默认both,remstr默认值为空格)  
! j8 L! T+ I, ]9 e, S$ O5 F, {- I" imysql> select trim('  bar   ');  6 c) Q! J1 S  [! K8 ~
  -> 'bar'
$ B# e8 c% b$ ?( P: I5 z) \2 C' Dmysql> select trim(leading 'x' from 'xxxbarxxx');  
& M8 R2 R1 {# S! b5 k4 ^  -> 'barxxx' 4 e9 J% u. ?5 @# n
mysql> select trim(both 'x' from 'xxxbarxxx');  ; K" O* G- A4 P
  -> 'bar'
9 F. i( k9 b& k% w. z  kmysql> select trim(trailing 'xyz' from 'barxxyz');  7 O& e! [; `0 F( `
  -> 'barx' ( j" R) o' m: i2 O) H4 w4 ~9 v

% P6 w- `) p% c" @2 Qsoundex(str)   
2 @5 l7 a5 R" i' K2 A* t0 Q0 l0 U- d返回str的一个同音字符串(听起来“大致相同”字符串有相同的
( C7 k) R0 m- X% u# }3 T同音字符串,非数字字母字符被忽略,在a-z外的字母被当作元音)  & b* _8 h- ^  `7 s# Z  s7 x
mysql> select soundex('hello');  
- y9 E9 S8 e6 G; W* s; F  -> 'h400'
$ h1 O; Y/ M5 I( gmysql> select soundex('quadratically');  
( H& t9 r  G6 f* A  -> 'q36324' 2 |  |' W) c% n! U' A
   ; n- A% t3 ]$ R( s' ]1 w/ s
space(n)   - w0 L3 x; ]* ], p. X; G/ L
返回由n个空格字符组成的一个字符串  - t7 C' d0 e4 C/ Q! X( W. \
mysql> select space(6);  
* _7 v6 p+ v& D  -> '      ' & E4 \% g/ u% L; D1 n. [% o1 T
   
# N$ Q8 T$ s4 U2 ?- A2 `% treplace(str,from_str,to_str)   8 j: b) k( i/ [, O
用字符串to_str替换字符串str中的子串from_str并返回  
1 I  K3 c9 k* h' ?" Qmysql> select replace('www.mysql.com', 'w', 'ww');  & ]% I; q) c# R  \  `
  -> 'wwwwww.mysql.com'
8 U! a5 _% j' Y9 j; n
( C" O9 l" B% U- f  N1 h7 z( nrepeat(str,count)  
$ F! t1 ]- }; a$ p+ ~7 _返回由count个字符串str连成的一个字符串(任何参数为null时; J$ G3 ]" B6 R# ~4 E
返回null,count<=0时返回一个空字符串)  
+ [$ {  k- Y; j1 T9 lmysql> select repeat('mysql', 3);  
# c! R& T# G* [* A7 F. f  -> 'mysqlmysqlmysql' 1 I; x/ L& p9 Y* i" H4 m
   ' g7 e9 f8 E7 d8 D# ]5 h7 u
reverse(str)   & ^- ]% L/ n2 q$ t
颠倒字符串str的字符顺序并返回  1 B5 }; e- d) `8 H& S5 D
mysql> select reverse('abc');  & r) l- i! e7 x6 {; O1 [! G, t
  -> 'cba'
% T3 E/ e- {( B2 b# S1 ` 7 o' r% H) C" V" C8 c
insert(str,pos,len,newstr)   " [4 r$ b& F4 y; B' n
把字符串str由位置pos起len个字符长的子串替换为字符串
9 V; ]2 d4 Z! J" _: ?0 [newstr并返回  8 s) L! _: k5 F8 ]5 C# g$ {* ]6 Y
mysql> select insert('quadratic', 3, 4, 'what');  
# Z5 N. x+ X/ f* Y  -> 'quwhattic'   E; ?. G3 k3 q4 _3 R

0 x( }9 ^' d6 }# Velt(n,str1,str2,str3,...)   
4 m  O3 T5 T! b8 O' u+ ^' e返回第n个字符串(n小于1或大于参数个数返回null)  ; M+ P$ A6 b" ^( Q3 j1 E
mysql> select elt(1, 'ej', 'heja', 'hej', 'foo');  4 B+ X# F' e( S( e2 ?
  -> 'ej'
3 V7 y; t5 O4 S' y# ]; U+ Imysql> select elt(4, 'ej', 'heja', 'hej', 'foo');  ; v' X! P- V- Q7 N. {
  -> 'foo' : ^$ a7 {! t$ T2 o/ l
' @0 f7 y2 V' a( N$ S
field(str,str1,str2,str3,...)  
: L4 }/ Z7 l. C# O2 c7 W返回str等于其后的第n个字符串的序号(如果str没找到返回0)  
7 h: w, L. r$ s+ I% z- Omysql> select field('ej', 'hej', 'ej', 'heja', 'hej',! t- C# \/ J$ g9 M; Y& M* U' P% _5 b
'foo');  
7 K1 f6 {  q7 O  K7 E% R  -> 2  8 P& k  q9 G6 ^4 X5 J
mysql> select field('fo', 'hej', 'ej', 'heja', 'hej',
( c  Q" i  r% Q/ i! D' Z* J'foo');  
* _! t# ^7 A. C# e% Q  -> 0  & e( G! l* U# z  l1 O; K$ e! p

( P$ G7 L! s- Y7 q4 ~" ~find_in_set(str,strlist)   
. L& k+ i0 J) u0 p返回str在字符串集strlist中的序号(任何参数是null则返回
+ b2 k+ g% Z  U  o7 ^, T3 Nnull,如果str没找到返回0,参数1包含","时工作异常)  
' d6 J4 E% a5 L( ~2 ?  R0 O% `mysql> select find_in_set('b','a,b,c,d');  
2 w/ b; n) @% N  -> 2  
' w; U: s& F3 P1 x* J+ ~   
: C; f/ A- H' U3 Gmake_set(bits,str1,str2,...)  
6 J" ^' p  L2 }! N" y. O" Z把参数1的数字转为二进制,假如某个位置的二进制位等于1,对应6 _  `, e$ j! R; t4 p/ }. p
位置的字串选入字串集并返回(null串不添加到结果中)  
' F( l( E  f3 ]5 D: omysql> select make_set(1,'a','b','c');  ) p+ `% z8 k) n* B* z6 ]8 N
  -> 'a'
7 Q# x2 U* P0 N: b) Imysql> select make_set(1 | 4,'hello','nice','world');  
- ]+ s) W; J' \2 a& F  -> 'hello,world' 7 d7 |0 c8 D6 S$ Q" |; x
mysql> select make_set(0,'a','b','c');  4 r+ {8 X1 O) W3 t( w
  -> '' % |1 L, X7 S% H- m# Z

% k# O: P- @) r& ~% K" P: D/ l; b3 Dexport_set(bits,on,off,[separator,[number_of_bits]])   
! ^5 G0 d3 }3 h3 a( M* s按bits排列字符串集,只有当位等于1时插入字串on,否则插入
2 b) a- M- n3 Q9 M  yoff(separator默认值",",number_of_bits参数使用时长度不足补01 b" n+ s6 Y4 J/ G. L
而过长截断)   
4 E$ K% H! P: Dmysql> select export_set(5,'y','n',',',4)  
2 R( @4 h+ y8 u) x  -> y,n,y,n   
$ v% O% N7 L0 D& l. }) Z
* C3 q' H- B, U3 Olcase(str)  1 p9 c! L9 i: }) U: t- Q
lower(str)   
" B2 [: b4 ~; w2 @5 S% g4 j返回小写的字符串str  6 w0 R$ K* y5 L1 f; Q; V1 r, |
mysql> select lcase('quadratically');  / [/ N  t& n  ]4 ~$ r$ l- d. {
  -> 'quadratically'
- F2 ?8 T$ d% M. J; B, W' }   
( s7 ?/ z. q: z8 s% c  qucase(str)   
  c$ O: R: K& ]upper(str)   ( v' R9 Q4 I2 R7 y7 m" H4 x$ p
返回大写的字符串str  ; y3 J7 H, a9 [+ J) E1 U1 c! r! Y
mysql> select ucase('quadratically');  5 A5 v  ?' h( A+ x
  -> 'quadratically' 6 e4 u9 K1 z( c

, J! _! Z2 ?! b9 S$ nload_file(file_name)   $ q- p  J' c4 Q. `0 U. r# Q
读入文件并且作为一个字符串返回文件内容(文件无法找到,路径" w7 t7 v: v5 |6 c+ q4 ^# c
不完整,没有权限,长度大于max_allowed_packet会返回null)  / h; p9 W) f8 |8 C! C& \
mysql> update table_name set blob_column=load_file
" w6 [  ]$ ?. o& O. |- Z5 E("/tmp/picture") where id=1;  
+ r. d! P8 ~' R0 ^ 4 C5 e2 m! D5 A4 M0 E: k, D
2、数学函数
- T- y7 P( l( {* j& _( {! rabs(n)
* q0 S0 T7 G- _返回n的绝对值  
% Q2 e9 C  q) k2 Wmysql> select abs(2);    5 M7 b8 M8 o) ~- U3 ]# H
  -> 2   
5 F2 d) q9 t, ]mysql> select abs(-32);   
7 c& y5 L$ z" t) t# \3 X0 L/ n  -> 32    ' H  t1 ^; s( }9 Z) L. O
   
$ H* v" H4 x- G" b7 nsign(n)  
" \: F% K7 p; s6 \7 ]% ?4 n9 U/ y返回参数的符号(为-1、0或1)  5 u7 H3 c; _$ G$ T1 K( l
mysql> select sign(-32);    3 N, q  v& f( E. i  b+ j
  -> -1    2 |1 ?$ E+ b; l8 l
mysql> select sign(0);    * n$ p0 V1 V7 z4 j# q* }! m
  -> 0   
! p" D. l. F+ Tmysql> select sign(234);    - U; Z7 u& y# b9 C$ h
  -> 1    3 ?# G8 N8 s1 I; m
$ {0 U6 x9 _& M! t- }' g2 j8 K  b
mod(n,m)   
. n$ _" z7 _3 u- c: r6 m9 C3 L取模运算,返回n被m除的余数(同%操作符)    2 `7 c2 T$ {/ g: {6 N9 b
mysql> select mod(234, 10);   
& J8 J* t/ G; v' U3 n& p  -> 4    6 t% `& O& e( b/ c" }
mysql> select 234 % 10;    4 \9 E2 M2 g$ {. t+ b) h
  -> 4    : O' v2 c2 ^# u3 j, O1 w) g+ Z- d
mysql> select mod(29,9);    + y9 Z5 J/ j. i
  -> 2   
/ W9 l* S5 h" F
; x5 f1 S$ Q- g* yfloor(n)  
# g' q4 ?4 O6 V9 o; m返回不大于n的最大整数值  
! U! |' x' X5 V1 B& a+ u. xmysql> select floor(1.23);   
+ C- k. \* G* `. S  -> 1   
' l# b0 P  A8 `/ }1 J( G' ?mysql> select floor(-1.23);    ) N$ X- s" Q; K, h% V0 H
  -> -2   
8 k# o. N0 J' C1 M# \ 1 H# [3 P' F" I4 D0 t
ceiling(n)  
* _% g: A8 H1 J# }3 u' o) K" S$ @" x返回不小于n的最小整数值  3 z+ ?# n# J; ^8 a$ d3 O2 H0 c
mysql> select ceiling(1.23);   
& K% q; t" R; s2 n3 \" A% N. r  -> 2    4 N8 O; Z8 \2 n6 U5 [* A% W
mysql> select ceiling(-1.23);   
' R. r" i# W8 \" ^% g8 j/ @) @. V  -> -1    # u% F& y) A- N

/ B" s6 `+ S: y8 h9 X) c7 A- }round(n,d)  
: C$ Q7 v1 Z5 i- Y返回n的四舍五入值,保留d位小数(d的默认值为0)  
$ U3 N) x2 X+ [mysql> select round(-1.23);   
: f1 q" `6 F3 M9 w  -> -1    ( p+ N+ q5 W! B
mysql> select round(-1.58);    , A  [3 v# O& z( V: L1 E
  -> -2    ' P: l6 }' e( K& X8 j5 z
mysql> select round(1.58);    ( ?* m# l8 h6 J9 ~3 {$ ?1 `7 D
  -> 2    2 U' [3 ~" ^7 P& N# C: C4 G
mysql> select round(1.298, 1);   
5 ?) e$ I! ?  e7 r" ]  -> 1.3    " F7 R% n% W! H& ^  h0 Z( k
mysql> select round(1.298, 0);   
7 ]* G( l: c/ _7 R# K  -> 1   
. Q& J1 O# L1 L, ]7 t- U2 a3 o( s ) t: c& _9 ~5 h9 b0 [
exp(n)  / I4 ]! X3 E* I
返回值e的n次方(自然对数的底)  1 M* l- }/ e; k+ L+ x6 r: p2 D
mysql> select exp(2);   
7 o* H( M/ y9 {  -> 7.389056   
. n+ K$ p9 P$ T. R+ Omysql> select exp(-2);    7 X& b9 J; `6 A6 F2 O8 s3 t
  -> 0.135335   
! B/ ^! U  H+ ~# ~0 V8 z
1 m  X$ d  }9 k. E6 `7 y9 ~* @log(n)  
+ W, u& E! j6 b  K9 C) g# v# M返回n的自然对数  
. K6 E6 d# K( }$ Emysql> select log(2);    - G2 G- }0 K( ^
  -> 0.693147   
$ x" J/ J% O/ h# O1 }0 i  Emysql> select log(-2);    + G# e* D6 W0 m5 z* G' P
  -> null    $ Z6 l# w3 r/ N1 s0 p7 F! {( n
# o# Q& s  w( E* [1 r( W8 c' H
log10(n)  
2 m+ i  p1 I* O7 W9 k" y6 q返回n以10为底的对数  ( ]* a1 O& C( v
mysql> select log10(2);    7 S5 A4 a% w# l3 I0 `/ k6 b, T
  -> 0.301030    - u% ~' m/ K3 R8 ?& Q
mysql> select log10(100);    # ~/ n! K# r* V( v, k
  -> 2.000000    ( Y+ z+ r7 d1 S0 K, v" w9 r8 D" Q
mysql> select log10(-100);    1 t* V# R% n& |' P- Z
  -> null   
. l: F- X0 c( \/ o6 p& e. i
3 {' q$ {9 ?. y" ~pow(x,y)    $ ~# U6 x8 u9 {  d' J, J3 i
power(x,y)   
5 |& F$ Y' J. {/ A5 c# u 返回值x的y次幂  9 @9 t5 G4 _5 k* k% v* K
mysql> select pow(2,2);    . ]6 ?( p, _+ ~# e
  -> 4.000000   
' C$ G  f0 j9 ^7 W% Qmysql> select pow(2,-2);    4 @8 _; I* T' D9 u2 Y  X. i
  -> 0.250000  2 e1 Y" b) C" E0 [* k  v# u

( c# C  l# q5 }: Z2 T3 a' s- T3 Fsqrt(n)  
* |* S8 J4 V! p# g' H 返回非负数n的平方根  
- i  Z4 H- X3 K7 r1 gmysql> select sqrt(4);    7 c4 g3 C1 e4 d8 t. P3 z! i3 E$ J
  -> 2.000000    " o6 G8 Q: C# b
mysql> select sqrt(20);    ( O/ ?4 ~3 K7 H0 g
  -> 4.472136    + z* o* p( s8 [" s2 @$ ?9 ^
  k9 ~# m  @8 ?" H
pi()    , t% x% R+ P/ _; i% d" [. x. s- v
 返回圆周率   
" ?6 k+ M; A* R  J- a, [3 Umysql> select pi();   
# `- r0 S$ `! ]7 D  -> 3.141593   
9 m0 j# X, G- m3 L+ @. v! B) V
6 ]% X7 v4 {; tcos(n)  ( t. E, A9 u) ]5 \& r% v
 返回n的余弦值  
" w7 `% ?, g7 G% J- X8 P5 Xmysql> select cos(pi());  
7 s* @1 w7 k: ~3 f" @0 F  -> -1.000000    ; I. `8 A1 Y% o# t1 C5 a% e
6 M+ b# R$ F  Y- M% J5 h
sin(n)    G( y) a8 @; _) ^
 返回n的正弦值   
! _1 }0 k3 L2 G- {  gmysql> select sin(pi());    % }9 _$ o4 g$ Y* }8 T8 O# r
  -> 0.000000    ! l# O% c6 J: C+ o
0 K& C% J8 L3 N/ @$ e
tan(n)  6 `& S7 O2 T' s$ z
返回n的正切值  
% P; ?: W8 E# I2 N; T5 r1 zmysql> select tan(pi()+1);    8 V$ D9 }2 h% ?
  -> 1.557408   
  ~' Y8 G  g# Y3 a0 L/ c 9 o" A; N: `+ t# Z% k- J; Y
acos(n)  
$ ]3 D! C" T5 H& G 返回n反余弦(n是余弦值,在-1到1的范围,否则返回null)  . P( F6 k  ~0 N1 Q0 ]
mysql> select acos(1);   
& m! t5 ], m1 {' S  -> 0.000000    0 z, L* N7 y" X' ?; @( @% q  g: T
mysql> select acos(1.0001);   
- m# {+ T% Y% W" B0 Z6 T  -> null    # P, w$ b: g! H
mysql> select acos(0);    2 D+ l: K( W: E% f) q- H$ a( o6 i
  -> 1.570796    : e& p& Y8 L. w6 X3 R! m

5 v& h8 B5 x2 I/ {5 A; Vasin(n)  % t3 ?. Z3 g; A  w7 F9 ?
返回n反正弦值  $ x- l: ^7 P% Q% q% f5 ]# Y
mysql> select asin(0.2);   
5 T& c1 N1 U7 {/ k! P* N  -> 0.201358    3 L3 u4 h; D4 K6 j& g7 D
mysql> select asin('foo');    / C4 u9 |" y% f: \1 [2 s( a
  -> 0.000000    + M$ {4 H/ J3 ?
7 _, C, l2 q8 h; e
atan(n)  0 X7 B5 A( i4 L$ ~# E4 I& O' L
返回n的反正切值  4 v2 F& q, R2 B! E( X$ h1 f0 X5 d% w
mysql> select atan(2);      R; m# q) s0 A1 c5 t
  -> 1.107149   
. S( y" V& {! n, u* t7 L) Mmysql> select atan(-2);   
$ K* E4 }) {9 s; ^7 v  -> -1.107149   
% _" R3 e+ V) \atan2(x,y)    6 b' t2 \0 m3 ]
 返回2个变量x和y的反正切(类似y/x的反正切,符号决定象限)  
# ~- F( p. `$ ~$ L/ a& m8 q: fmysql> select atan(-2,2);    5 A( W8 _9 a/ O* m7 o
  -> -0.785398   
  q% X6 r; x( U, Z2 s' Jmysql> select atan(pi(),0);    & h' X/ D% u9 m
  -> 1.570796   
% ]6 J* l3 u5 @6 u- v
. L3 B5 a: V/ k+ [; d% }( vcot(n)  
  l) d* h( k) J3 k4 S# W& }) S! E+ M返回x的余切  
& u# r) |6 r' r6 m( dmysql> select cot(12);   
4 {, O- y/ P$ q# w/ i! u0 y: s; \  -> -1.57267341   
# K7 ]% H7 S0 I; c$ s5 \mysql> select cot(0);   
0 h! d3 B+ s7 C7 a) h& T/ `$ x  -> null   
8 V7 N, z5 f7 S9 O, b( _ - y' k$ s' x1 C) [: e$ h6 Y
rand()  
. _+ m# r" K. z% q( Jrand(n)    3 h$ `) \4 z9 n+ t7 N4 b$ J
返回在范围0到1.0内的随机浮点值(可以使用数字n作为初始值)
# Z" n/ G4 l9 P8 n1 J% M
+ E7 _; F8 ]$ c+ y0 _0 p( N- K' Hmysql> select rand();    / l5 I8 y. O3 Q& M! \
  -> 0.5925   
1 @6 _- y- y* _& E9 [- n, \mysql> select rand(20);   
6 ^9 K1 h0 t" w  g  -> 0.1811   
8 ^! O6 g/ V7 }. D, l$ V1 }+ ]mysql> select rand(20);    ( m9 Z0 i) p; I6 z
  -> 0.1811   
; L; t# Y& a, k" a3 r$ u( tmysql> select rand();    1 c# I* W* u8 l+ y& N# X
  -> 0.2079   
' m' G/ n$ R% H% z- m+ m; Fmysql> select rand();   
+ {3 q7 A* s5 \" _  -> 0.7888   
2 y4 V! ]6 j' c7 e+ r. _ ' _* D) X: ]7 I7 w  Y
degrees(n)  0 }" u- h& i( Q/ a
把n从弧度变换为角度并返回  
2 U0 H* l+ t, M+ Kmysql> select degrees(pi());   
+ {3 G5 i. {" `! z! k  -> 180.000000    7 a9 j3 v7 w) b2 G4 B

$ l7 B* N/ {" e6 |  j! aradians(n) ; c6 ?# [) J- \3 N5 ]. C
把n从角度变换为弧度并返回   
# O. |2 @8 J5 Z8 Zmysql> select radians(90);    " I; ?/ M* v0 |! }4 k& V8 x
  -> 1.570796   
2 ^1 ?+ h0 f7 z% T/ r: }% R
6 }) y! K! p. D, A5 \9 x9 W* N, {truncate(n,d)    ' ]. I/ V, e4 b3 U3 x, X6 K
保留数字n的d位小数并返回  
: L1 M% c, e+ A# ymysql> select truncate(1.223,1);    ' u6 u7 D: A3 b' ]) X( Y
  -> 1.2    0 V" n# P4 L) {/ I6 p' ^
mysql> select truncate(1.999,1);    * a0 t- u8 y+ |9 l0 o
  -> 1.9   
3 g2 m. f  B2 gmysql> select truncate(1.999,0);    # ]* u: y2 u5 Y0 B- s* E. C# [
  -> 1    * I( C2 j+ l1 ]% N+ `

1 e: T+ ?7 n! ]4 ?9 xleast(x,y,...)   
# g9 A% B+ P4 t9 `" c返回最小值(如果返回值被用在整数(实数或大小敏感字串)上下文或所有参数都是整数(实数或大小敏感字串)则他们作为整数(实数或大小敏感字串)比较,否则按忽略大小写的字符串被比较)  
! ]1 X4 T, t& t8 _2 w. kmysql> select least(2,0);   
% e3 D" a. ~7 X% z# v' Q  -> 0    4 U9 @3 i9 U6 q  h! _1 p
mysql> select least(34.0,3.0,5.0,767.0);    6 K1 {" j4 o+ J6 {# R
  -> 3.0    4 E5 [4 N! b( |# u' P
mysql> select least("b","a","c");    # `. x- {( ~; W; j. G0 R9 r: t( T
  -> "a"   
5 O. S0 P0 t. ?# U! R* x6 @ + B/ v9 s" s- E8 u6 V
greatest(x,y,...)      f2 q  f0 f; l9 L
返回最大值(其余同least())  
7 a1 S% Q1 T4 g# C1 Jmysql> select greatest(2,0);    # }4 {# L- m9 P7 B' e' l4 C6 R
  -> 2   
0 F" H8 s8 c/ ^mysql> select greatest(34.0,3.0,5.0,767.0);   
# R7 ]8 u- m' x! U8 s0 ~  -> 767.0   
  T# q' t  E' q, B  s$ l2 Fmysql> select greatest("b","a","c");   
1 B& F6 ~5 `8 d# V" E. F  -> "c"     ; L% ]9 @6 o8 s$ m, x7 h
( `4 t% t* S0 Z+ Q# F
3、时期时间函数   u% F6 h) r- i; y" Q. H& R
dayofweek(date)    ' |9 q, d1 S- I8 x+ T
返回日期date是星期几(1=星期天,2=星期一,……7=星期六,odbc标准)  ) A2 N# _, z. e, B
mysql> select dayofweek('1998-02-03');    " a7 h) [8 @1 f' S' A
  -> 3    & a% z. N: _/ ?% Y7 R: e

$ ~% a# F  G% p+ rweekday(date)    , H# G7 r3 Y' T0 S! I- U
返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。
* Q3 y; v- n2 h5 J  9 K% {/ R& p* P
mysql> select weekday('1997-10-04 22:23:00');    : V8 S7 m5 B* b1 a5 n5 S/ J
  -> 5    $ J- K. ^3 O4 {) u
mysql> select weekday('1997-11-05');    : q# S  X5 y4 y  X
  -> 2    2 \6 W  A1 F8 D2 N; `; r

- ?% V& G8 V/ `dayofmonth(date)    3 V+ n' h/ W% @
返回date是一月中的第几日(在1到31范围内)    ( p; V- H9 Q( s
mysql> select dayofmonth('1998-02-03');    $ Z' `& V, R' A2 G+ s
  -> 3   
' w& Z" W+ g! Q
* S. ^% ~/ G4 Z8 A$ T( Bdayofyear(date)    # E& n! a2 @7 @$ N/ J3 o9 o
返回date是一年中的第几日(在1到366范围内)   
8 H0 [  h) @( N/ b  B4 Omysql> select dayofyear('1998-02-03');   
, e% a$ I/ o9 R, _( h  -> 34    - R0 A% n1 Q5 A4 z

3 J) `% d9 Q2 gmonth(date)   
4 q1 M& M3 a/ d- `& c& d9 C8 p返回date中的月份数值   
6 U. G& T: w8 v4 l/ V  w% ^mysql> select month('1998-02-03');   
) l/ o) O- B# `+ Z: O6 c  -> 2    ! m" y; B, a4 h8 g2 ~
' c! X: C% |$ x) K8 M
dayname(date)    # @4 T3 X3 X0 z" x0 C% V4 v
返回date是星期几(按英文名返回)  
- Q; _4 C# z  hmysql> select dayname("1998-02-05");   
$ k' |$ H8 T6 {  -> 'thursday'   
3 L8 J  L* V" K$ p* ` 2 ?5 z8 z# u, {1 Q! P
monthname(date)    
1 h+ y4 Q  \$ r7 t) k% W- K( J返回date是几月(按英文名返回)  
7 u. y8 l. i6 c/ D: ?7 lmysql> select monthname("1998-02-05");    3 L: L' K- L6 B3 J* r
  -> 'february'   
" O' l' F7 l, K# L  d# E" p9 x. N
& V/ \2 j, M  F' bquarter(date)    - e! N4 v& \1 k' f
返回date是一年的第几个季度   
* n1 c5 p- e# j  f9 t4 xmysql> select quarter('98-04-01');   
$ E& h: }) T! C* o  -> 2   
$ a$ W( A5 g6 r* Y/ i2 _: |9 @
! t6 ~9 p- o" _week(date,first)   
) q7 M- ]0 b; Z8 \返回date是一年的第几周(first默认值0,first取值1表示周一是; r2 W& d' T5 u& T8 q/ P  s. |" S1 F
周的开始,0从周日开始)  
: z( n9 s2 x$ w6 g6 M) s' Xmysql> select week('1998-02-20');      |6 k9 j9 p2 E7 @
  -> 7   
! R: X: A# p; v' S: K! W0 Fmysql> select week('1998-02-20',0);   
6 q, _2 y1 D( W+ s5 f' q, F  -> 7   
! }: k9 g1 d. x  Tmysql> select week('1998-02-20',1);   
* E8 a" ^* ^& T( P  -> 8   
7 P0 O6 m" f6 w+ |7 ^1 J1 W - s% [- Q- ~6 `* B/ W
year(date)    9 t8 A- X+ _2 F; H) U
返回date的年份(范围在1000到9999)   
2 Q3 s5 H; H+ A8 u) Imysql> select year('98-02-03');    1 S8 h2 {8 a# z
  -> 1998   
3 ~1 ^/ \; `6 S* E2 Z- ?
5 M0 E3 c; k& N. `+ Yhour(time)    ; o$ S+ C( O5 @2 v( t9 H
返回time的小时数(范围是0到23)   
2 \0 s  V& z9 W( w1 rmysql> select hour('10:05:03');    # _  t  j' A8 [5 g& S
  -> 10    , X; `% A) m& u. k* v4 |/ H$ q
8 o" u! I9 E' g1 y9 @
minute(time)   
, f$ x4 N* D. w9 H; [返回time的分钟数(范围是0到59)   
" y6 P8 U" p6 J% `7 t, \mysql> select minute('98-02-03 10:05:03');   
. P: X1 R1 S" E$ t( V6 r4 V  -> 5   
0 _* _: U  R/ ?% O( W: K
0 n# B* ?8 J0 L2 z  }2 o1 j' b( ~second(time)    ( c) X* Z$ \8 X7 ~9 `
返回time的秒数(范围是0到59)   : _+ d" ^$ D5 {  T
mysql> select second('10:05:03');    - |* J+ K0 ]$ u3 [' \" t
  -> 3   
% T% r( ~& M9 V
/ v) f2 P  i9 S+ Lperiod_add(p,n)   
0 E9 o3 A7 R* H6 ^4 e& _- q增加n个月到时期p并返回(p的格式yymm或yyyymm)   
! A' M  j1 m% p  T! `- Y/ V3 F- G& Lmysql> select period_add(9801,2);    4 L/ o# e& r# u3 Z/ N. p
  -> 199803   
$ ]7 i3 V- S6 u8 v
" g3 t7 D0 h8 V* v+ }# v. xperiod_diff(p1,p2)    8 `; U7 Y2 U# s) H
返回在时期p1和p2之间月数(p1和p2的格式yymm或yyyymm)  0 Z5 d0 ]$ o# s
mysql> select period_diff(9802,199703);   
" f- d1 A) [* @( c& F% u% Y! o  -> 11   
9 g( T2 @1 [* }  Y
* ~& T: ]3 r# ?( a5 Hdate_add(date,interval expr type)  
8 H; y& t! v" d4 k( [. Y0 Ldate_sub(date,interval expr type)   
# \4 t- v6 U  P! n0 Zadddate(date,interval expr type)    - b7 q2 C4 k2 d2 `7 o* S5 r" I
subdate(date,interval expr type)  
0 G% v9 @; ~! N; M) X' P' G对日期时间进行加减法运算  ! U# J- f8 y; |9 f9 A; q$ p5 I
(adddate()和subdate()是date_add()和date_sub()的同义词,也# m: p# i3 P( v+ h2 M
可以用运算符+和-而不是函数  
! l+ j( ~. V) ?) t) h5 Jdate是一个datetime或date值,expr对date进行加减法的一个表
6 \+ @  y: b; s, _# Z: q达式字符串type指明表达式expr应该如何被解释  ! e3 g( b4 v- u  w6 Y, ~. p
 [type值 含义 期望的expr格式]:  3 h  T+ K* ^7 B  W
 second 秒 seconds    & D4 b0 O5 p4 V2 {/ D
 minute 分钟 minutes    ( c3 g+ W0 m8 n
 hour 时间 hours   
7 m! S3 o7 n9 K* e2 ?# ? day 天 days   
. _' B5 P& ^7 B3 Z: E6 U month 月 months   
8 Q2 B  s- A- r0 o1 p year 年 years    3 D- j6 K( h  ^, _: _+ o: u8 s
 minute_second 分钟和秒 "minutes:seconds"    # E2 g5 P1 Y1 w
 hour_minute 小时和分钟 "hours:minutes"    ! F; G5 y0 K# u+ ]
 day_hour 天和小时 "days hours"    # D. @8 T  Y  ^
 year_month 年和月 "years-months"   
2 v' E. J, g! U: f hour_second 小时, 分钟, "hours:minutes:seconds"   
' n, g& R6 f2 `1 y day_minute 天, 小时, 分钟 "days hours:minutes"   
5 o! D2 x$ ]5 U- g+ h7 H$ Q day_second 天, 小时, 分钟, 秒 "days
  W- ]. i7 U" [! U# |, p0 whours:minutes:seconds"
  p9 R9 J8 Z, x6 ~% e+ Y. y0 `$ Q. H* u expr中允许任何标点做分隔符,如果所有是date值时结果是一个
" G+ M: J" ^6 e7 d- \+ ldate值,否则结果是一个datetime值)  , U3 q8 K! ~6 N/ @- X- R5 A
 如果type关键词不完整,则mysql从右端取值,day_second因为缺, m& H/ k- e% W! J- m( S% F2 T0 z
少小时分钟等于minute_second)  
4 D6 \. m4 X' p 如果增加month、year_month或year,天数大于结果月份的最大天
( a& p. C% t/ ]0 ~. I数则使用最大天数)    + L1 K5 L+ }! ^# O( C
mysql> select "1997-12-31 23:59:59" + interval 1 second;  & x1 y1 O; R4 r% [
/ Z+ G; [' ^1 ^$ r, `
  -> 1998-01-01 00:00:00   
5 N1 e9 L/ |6 @mysql> select interval 1 day + "1997-12-31";    . K. r6 W7 x# e# @$ }/ r+ M
  -> 1998-01-01    0 j5 o+ {$ O- `, W; U, {
mysql> select "1998-01-01" - interval 1 second;    % Y4 {' I. G- v: k1 L+ d
  -> 1997-12-31 23:59:59   
' g3 A* \, J3 n( lmysql> select date_add("1997-12-31 23:59:59",interval 18 x! N: T6 C" W% k( Z; @
second);   
6 @7 L  S! N$ T4 Q5 b* x, l2 M3 `  -> 1998-01-01 00:00:00   
8 u5 x2 B3 y5 \5 [, Q' t/ _mysql> select date_add("1997-12-31 23:59:59",interval 1
: r3 O: I6 k% n2 _& d8 f- Mday);   
9 H: u! ?; {, C  -> 1998-01-01 23:59:59   
: Z9 U+ G2 q" Z/ q7 n5 q# _mysql> select date_add("1997-12-31 23:59:59",interval
, \; \5 {6 `8 Q6 w6 _% A"1:1" minute_second);   
% m- [. L$ P  G6 x# f4 P4 l  -> 1998-01-01 00:01:00    ! H( I, _+ G% @% X
mysql> select date_sub("1998-01-01 00:00:00",interval "13 r  W* N! ^. E) d* H  S
1:1:1" day_second);    % L9 h1 p" S4 s3 o
  -> 1997-12-30 22:58:59   
$ H& O/ F- V/ ~% o) Jmysql> select date_add("1998-01-01 00:00:00", interval "-1
1 d5 a% r/ s9 j( V6 m6 F10" day_hour);  
/ D( o/ s6 y' F. r% w% \. m+ w8 s  _  -> 1997-12-30 14:00:00   
4 I& v8 N* t  A# s1 M1 B- @mysql> select date_sub("1998-01-02", interval 31 day);   
% B% N/ D% p8 r* _" k  -> 1997-12-02    9 P6 x4 w, q! D" _
mysql> select extract(year from "1999-07-02");    $ V* t! N2 k8 v- O3 p; E
  -> 1999   
) R; |: E  Y( B: rmysql> select extract(year_month from "1999-07-02
. @) W  Z. X+ }1 v* c01:02:03");    ! ?0 B+ s. f& @2 h- o3 `* s
  -> 199907    / P, [8 G% n  G- f5 _# o0 K, D
mysql> select extract(day_minute from "1999-07-02
8 e) |( H2 {4 e3 k; b6 E0 H01:02:03");    7 T; l3 q1 ~; W6 u$ x* |; J
  -> 20102    . A% S6 p  O+ j0 `1 E
; v; e8 ^+ U' I
to_days(date)      f& d+ k' G5 A+ p/ M' F
返回日期date是西元0年至今多少天(不计算1582年以前)  
8 m# |- H" i% o# B( Qmysql> select to_days(950501);   
2 E8 g, H% c, z, r. j3 r  -> 728779    % z) q! c( J* V5 i/ {
mysql> select to_days('1997-10-07');   
/ d% }! r- z3 i  -> 729669   
! n  I: J+ s1 N0 O5 k
7 J2 w8 F. t" E2 S9 ~) `" lfrom_days(n)    ( ~' d7 x: G4 E0 u/ ?4 @' J3 I
 给出西元0年至今多少天返回date值(不计算1582年以前)   
8 r, `- C+ I$ ~9 h2 K8 z( _" _mysql> select from_days(729669);    . E& p3 J6 k- f; F! ~7 v
  -> '1997-10-07'   
- G/ _# F* K7 G. c; V0 c
+ y* o2 U" B9 P' E( B: Udate_format(date,format)   
( c1 Q* ~( Q" {! R' G% V+ w3 Y, ` 根据format字符串格式化date值  
, b3 g8 x8 S1 H6 p- ~6 |" [% m (在format字符串中可用标志符:  
" w: @6 r) {7 {% Z+ v% z: `+ h %m 月名字(january……december)    ( h9 _4 |) h, v
 %w 星期名字(sunday……saturday)   
8 H! W/ ]% W, j, }; K %d 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)    : Q% ?" _3 Q8 c+ [
 %y 年, 数字, 4 位   
' \: R' I$ n. y: F' P+ J  l' x. l3 ] %y 年, 数字, 2 位   
* l. h8 b( {; o2 s9 G2 J %a 缩写的星期名字(sun……sat)   
4 b) D7 M% R2 d0 i4 D$ S. M %d 月份中的天数, 数字(00……31)    8 ]0 ~# \, l" K4 Z! P$ }: ~
 %e 月份中的天数, 数字(0……31)   
8 ^2 M* A. Y" y3 _1 S %m 月, 数字(01……12)   
& J4 t& g9 Z  {5 u) Y %c 月, 数字(1……12)    & k- G7 v( y; O5 _# A7 ^7 U
 %b 缩写的月份名字(jan……dec)   
+ h9 Y  P0 d% ^. a %j 一年中的天数(001……366)   
9 ~8 }7 U" l+ V8 M  H$ R %h 小时(00……23)   
) l' \9 N& \4 A1 O9 a0 F' I4 l %k 小时(0……23)   
2 `/ r7 s# d9 d4 _9 W. n  \ %h 小时(01……12)    ; M+ M4 o( O# A& n
 %i 小时(01……12)    " Z0 t, U9 N/ [7 r* {
 %l 小时(1……12)    - L; w& J4 y# @: b
 %i 分钟, 数字(00……59)   
4 }$ L  I( |, z$ T3 K %r 时间,12 小时(hh:mm:ss [ap]m)    ! r& N" w( s" c# r; I) [
 %t 时间,24 小时(hh:mm:ss)    1 c- c7 |) x' p. t) p9 Y
 %s 秒(00……59)    ' `( \8 B5 N" W% i
 %s 秒(00……59)    + W5 n( ^8 j! O
 %p am或pm   
7 S8 C5 a" q2 d! Z0 V+ g %w 一个星期中的天数(0=sunday ……6=saturday )   
' A) p; G% w7 V9 r %u 星期(0……52), 这里星期天是星期的第一天    - u0 J" L& O4 }2 N: A4 D
 %u 星期(0……52), 这里星期一是星期的第一天   
! W2 h; K$ ~" D! X* J6 f* |6 s %% 字符% )  * n) W0 B8 {% ^% i, f/ b
mysql> select date_format('1997-10-04 22:23:00','%w %m %
! m  g, A1 f1 h3 Q0 Zy');   
( Z) V3 D# }# B4 D, v6 A3 d0 f( X  -> 'saturday october 1997'    - @! o6 N- W' z9 a; [
mysql> select date_format('1997-10-04 22:23:00','%h:%i:%' X5 R& S$ z) f
s');    ! X1 m9 j" |9 Y; G1 @
  -> '22:23:00'    ( \; H! u8 h, Q# ~% Y& C: ?
mysql> select date_format('1997-10-04 22:23:00','%d %y %a& Y& N: q# p/ s$ \8 e2 U2 ~9 G5 s% c
%d %m %b %j');    4 i. L; u( ^2 m0 J
  -> '4th 97 sat 04 10 oct 277'    ; b$ m5 u" }/ C6 `9 G
mysql> select date_format('1997-10-04 22:23:00','%h %k %i
. [$ e5 O( i- p" |8 ~%r %t %s %w');    ! E4 o) @% |0 ?& q
  -> '22 22 10 10:23:00 pm 22:23:00 00 6'    ' p8 @7 _! }  q9 u
: W* z# p- M- ~5 v& @
time_format(time,format)  % O3 V) y1 T( Q
 和date_format()类似,但time_format只处理小时、分钟和秒(其" j9 G3 A2 p: @" I( k
余符号产生一个null值或0)  / ~: V- u, {, A9 P7 O

: |, j5 D+ Q* ~. [curdate()     ! C3 J2 q% K7 t2 h+ l' W
current_date()  8 g; f% d& V2 k( n/ u) @- R" _
 以'yyyy-mm-dd'或yyyymmdd格式返回当前日期值(根据返回值所
; G; E) E1 E! V+ M; S% y/ V8 F处上下文是字符串或数字)    ; M7 ^* M9 ?1 x4 N% |! f
mysql> select curdate();   
5 F8 d. M+ W- d: d5 C0 a  -> '1997-12-15'   
$ i9 |7 F7 c0 b( H0 j5 }+ `- Nmysql> select curdate() + 0;   
$ I: o9 z" x" S* n  -> 19971215    # {. k% x  Q5 V- n; Z8 f6 P7 |

* k( Q4 E% E" z9 a' ncurtime()    $ x, \1 C2 p* f
current_time()  # B$ |- u  `) a2 h: S
 以'hh:mm:ss'或hhmmss格式返回当前时间值(根据返回值所处上
7 g% \. g' U7 C: X& }+ ~下文是字符串或数字)      / I/ T8 X# R3 a+ q- {7 F, W# F
mysql> select curtime();    - C. Y$ L( _" D3 |+ S
  -> '23:50:26'   
5 W+ ]& }. U5 p5 G! [' ~mysql> select curtime() + 0;    * H& ?2 J. p' e7 y2 c$ b1 C
  -> 235026    2 _, G5 ^# Q; [& J, t
2 d3 V* b) c0 }4 p
now()    
1 w8 [! {/ b& f  a! Qsysdate()    
" O, c# z0 R( L( _current_timestamp()  
2 _7 i6 q) C( F 以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回当前日期
) }& b9 i' I. W+ i  e时间(根据返回值所处上下文是字符串或数字)     
4 y1 a0 ~# L- Z  H) z- Y; D, h; kmysql> select now();    ' i; ~. e( e- ]( t
  -> '1997-12-15 23:50:26'    3 m: ]# U8 {& p7 p4 z' X5 D
mysql> select now() + 0;    # Q' l  ~! i4 ^3 b
  -> 19971215235026   
5 f9 S- s- X0 M
9 r8 ?; ~) `' _4 F3 qunix_timestamp()   
2 {; W5 }0 w( v2 O: G+ Kunix_timestamp(date)    3 e# J) A' G# i
返回一个unix时间戳(从'1970-01-01 00:00:00'gmt开始的秒
2 J5 [) x- d* d& l5 C( F4 a" @) L& O数,date默认值为当前时间)  ( A4 n5 p3 r- x- C( b2 l
mysql> select unix_timestamp();   
( k4 I6 A( h7 p  -> 882226357    + [% C1 l7 E  `
mysql> select unix_timestamp('1997-10-04 22:23:00');    & P- [1 g, H$ c1 ?
  -> 875996580    ! }/ X( J  D+ V% N8 d

3 g1 N8 k0 S0 c0 Q7 Afrom_unixtime(unix_timestamp)   
5 P, l5 G6 @5 S3 f5 ^以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回时间戳的
% G* Q% l! M8 p) r值(根据返回值所处上下文是字符串或数字)     ! z3 j8 T; a7 R5 Y( w3 ]7 B
mysql> select from_unixtime(875996580);    - O. q8 z) G: i! z  i8 r& d
  -> '1997-10-04 22:23:00'    5 X' w- J, G/ b" g  u5 g
mysql> select from_unixtime(875996580) + 0;   
# d* y- F) X9 q2 S  -> 19971004222300   
& U4 F4 U, e. v- D4 Q; P" L1 x 0 ^! O; X+ V+ i9 U# y& c. v- ~
from_unixtime(unix_timestamp,format)    6 ^: P8 m3 [$ |$ s3 L
以format字符串格式返回时间戳的值  , j: U) T2 j- |) E' R9 G6 S
mysql> select from_unixtime(unix_timestamp(),'%y %d %m %
# E: g9 `: @' ^1 wh:%i:%s %x');    5 |; b, }  O, C" H" L
  -> '1997 23rd december 03:43:30 x'   
% B" m4 \6 G+ E0 {- V* v
2 G( N- |6 U1 ]9 [0 r0 isec_to_time(seconds)    ! X3 s( @1 u- A. d* m
以'hh:mm:ss'或hhmmss格式返回秒数转成的time值(根据返回值所处上下文是字符串或数字)     - d0 X* M. n  U1 B! s! g3 W% A4 t
mysql> select sec_to_time(2378);   
6 B* I% b6 G) X! v  -> '00:39:38'    # z5 a$ r2 J* T: u0 K2 \
mysql> select sec_to_time(2378) + 0;    2 J! T3 i7 r4 a0 N
  -> 3938    ! A# [" j1 s. R/ S* ^0 m3 R
- ~2 J; K' \" R4 G% m
time_to_sec(time)   
! p/ b: f& n% A返回time值有多少秒   
4 e' f1 d+ ]" G3 omysql> select time_to_sec('22:23:00');   
. r, s' N) U* N1 x9 I  -> 80580   
0 V( Y0 N# r2 G) e7 W/ xmysql> select time_to_sec('00:39:38');   
* C9 h/ m  b8 \9 k& b2 m: z  -> 2378
# e6 I" H7 y( _- Y  M, a9 E
/ q, _, S* z  j. j转换函数% O2 Y! {% ]* {  \7 t  S
cast
) [9 d2 s% r( b' I4 F; u, E* w1 k用法:cast(字段 as 数据类型) [当然是否可以成功转换,还要看数据类型强制转化时注意的问题]
, r1 Z7 C0 j% L: l实例:select cast(a as unsigned) as b from cardserver where order by b desc;  Z: @1 w/ w) @
convert:
4 h- p/ y& o1 i- n用法:convert(字段,数据类型)0 M8 x7 [0 ^( p5 f# L7 ~
实例:select convert(a ,unsigned) as b from cardserver where order by b desc;

5 l- h5 Q5 L3 R/ A# w; Z
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表