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

mysql常用函数大全

[复制链接]
跳转到指定楼层
楼主
发表于 2018-3-21 16:07:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、字符串函数
: e) D2 v+ M, T$ R8 v+ C2 Zascii(str)   
. {. J4 z6 D+ a8 G6 r) A2 k. }返回字符串str的第一个字符的ascii值(str是空串时返回0)  6 S* N) ~& w, O% r* Q$ G
mysql> select ascii('2');  
: l8 C  P  J4 i/ A0 C7 s  -> 50  
: P' g8 ~2 \' M( s5 S  M; G$ c# Umysql> select ascii(2);  0 R9 ]3 o$ r( u! T3 W. q+ b7 T
  -> 50  
  H  g4 x5 U$ I$ }1 Q3 Xmysql> select ascii('dete');  
. D# u: K* Y5 n8 ]$ L5 q  -> 100

% c* }. f& M9 a# `3 t  l: @7 iord(str)   
+ N( O" s* s6 J7 r' }+ s0 [& ?; I如果字符串str句首是单字节返回与ascii()函数返回的相同值。
4 f4 o8 Z  U$ J5 l' Y& e : D/ `* w9 D4 b2 R8 P! V
如果是一个多字节字符,以格式返回((first byte ascii code)*256+(second byte ascii code))[*256+third byte asciicode...]  
* S) i& ^: H! O/ Umysql> select ord('2');  
9 A4 H: ?% X4 m+ C6 m5 h  -> 50  / J' h; ^3 r: d' c4 \
   
! O3 x8 d9 a7 Jconv(n,from_base,to_base)   
2 E$ Y. a/ v9 D0 F$ Q对数字n进制转换,并转换为字串返回(任何参数为null时返回null,进制范围为2-36进制,当to_base是负数时n作为有符号数否则作无符号数,conv以64位点精度工作)  ! w5 c7 v0 C$ M
mysql> select conv("a",16,2);  : N& b" E0 n+ p: _9 v7 b
  -> '1010'
) F- c! y/ p& y7 z$ o3 G) a3 lmysql> select conv("6e",18,8);  2 U, i' v) D/ }: R
  -> '172' . X5 D0 a8 G* F7 ?4 x
mysql> select conv(-17,10,-18);  ; i4 ~: A; X. o
  -> '-h'
! m% Z( T; S0 amysql> select conv(10+"10"+'10'+0xa,10,10);  
$ o# f& l" Q9 ^- @* U1 o2 [  -> '40'
7 q2 F- E, f# w   7 ~/ A2 X9 ?$ {7 ]1 d' G1 Q  n& M
bin(n)   
3 a$ w# u, t+ ^6 n9 H( ^把n转为二进制值并以字串返回(n是bigint数字,等价于conv(n,10,2))  
! n' ]. ^8 j5 y) Z: A# o; Hmysql> select bin(12);  
2 S. W5 w/ B1 N- T  -> '1100'
, l; ?8 V( B! m; |3 {" x2 X: G & i. o# h. s2 Y* L0 q! x. L
oct(n)   8 k& q8 k" M( ]. N5 K
把n转为八进制值并以字串返回(n是bigint数字,等价于conv(n,10,8))  
  f# ]& B* T* Zmysql> select oct(12);  # \) y/ b8 c( F2 i' @+ X
  -> '14'
# Y; B4 I9 ?; G/ u   / ~3 F% w7 u9 w& B& y# a# u5 J
hex(n)   4 W7 X& Q6 d, m; N
把n转为十六进制并以字串返回(n是bigint数字,等价于conv(n,10,16))  ! u5 X4 J2 U4 w! N5 H! U
mysql> select hex(255);  
0 c7 b( T9 j; f, W! ^7 z' c: D1 e! A  -> 'ff'
: l; ~: K: j6 f3 {   ; h( x% X! ^) z& A  ~' k% ^$ E3 ?
char(n,...)   
) a. \7 T- J; w, o- S. z返回由参数n,...对应的ascii代码字符组成的一个字串(参数是n,...是数字序列,null值被跳过)   
  P/ {( X! t7 g1 t' L* a0 Dmysql> select char(77,121,83,81,'76');  + D9 g$ U9 _* q' n1 ]5 z) Y
  -> 'mysql' 3 p5 v, i% j2 L
mysql> select char(77,77.3,'77.3');  
7 r9 @  I. J2 G  -> 'mmm'
6 j. b/ b( O  ~& X8 i   * x/ L, A% }' x3 L: Y
concat(str1,str2,...)  
+ N2 I: X( g# S) m7 R' x把参数连成一个长字符串并返回(任何参数是null时返回null)  # O- y' D  f! t2 t( A1 ?
mysql> select concat('my', 's', 'ql');  3 f7 I2 O0 F, h! g0 q8 n3 V
  -> 'mysql'
6 v" _0 c8 d' w6 h" O. Kmysql> select concat('my', null, 'ql');  
8 x- h4 H1 q7 _9 y  -> null ; A# p+ g6 b9 Z  @' h# K! Z3 J
mysql> select concat(14.3);  . L8 E4 c; E& t5 I8 k
  -> '14.3' ! s3 r: Y3 X- |' [5 |
0 h, M1 H$ u, D, K% T; m
length(str)   
6 A! @& |" A* @% |% |octet_length(str)  2 Z1 u7 B8 s  t+ l% o  I" H% \
char_length(str)  $ A, G# t3 L1 P" N* Y
character_length(str)  " w# n. F- z2 q$ R7 \! F) r* v
返回字符串str的长度(对于多字节字符char_length仅计算一次)
. v+ q# p5 ^1 w. G3 D0 Wmysql> select length('text');  ( T" X8 S+ I* Q+ ?$ c
  -> 4  - t+ ?" r" x2 B. D6 f! r
mysql> select octet_length('text');  " J$ {; D1 A6 `% Y! Z
  -> 4  1 E" Y# I: i& y2 ]( _
. G3 D) L( ]# Q% t
locate(substr,str)   9 q- ~3 ?1 ?" C
position(substr in str)   
0 J6 S+ f) c" f' X# i/ i& J返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)  
1 K, W1 ~2 ], ?) m3 a4 g2 g  hmysql> select locate('bar', 'foobarbar');  2 w0 ^' P5 S/ j9 F
  -> 4  
" {3 ^" I+ X3 a( x& n' k% l; mmysql> select locate('xbar', 'foobar');  ) y$ B, m4 G/ c
  -> 0  ( w; a& v/ ^7 P8 K, Q% L7 @0 Z, J
   
8 |4 t: c4 k4 V- p, [0 M9 ]+ llocate(substr,str,pos)
" M, c5 [) N3 w* \7 o# W5 U, `& J: O* b返回字符串substr在字符串str的第pos个位置起第一次出现的位置(str不包含substr时返回0)  ; X" O+ t2 J8 [) O; z( K7 o
mysql> select locate('bar', 'foobarbar',5);  3 a. z# G. ]( v- o' R* O9 n
  -> 7  
! B% ~7 i+ s0 k! v% S* W
' r" R5 J5 y9 E# S4 |0 s9 ainstr(str,substr)   2 `- U" D* Y! }+ O8 H8 @6 R( k
返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)  
5 w, {5 F* X3 i4 a: t, R; k- [mysql> select instr('foobarbar', 'bar');  
, V, F3 y) K$ ], s; R& I( m  -> 4  
1 }7 O- @0 ]' |9 G' {mysql> select instr('xbar', 'foobar');  
0 C# h+ F% h! w) V: O9 q7 I7 V( C  -> 0   5 D3 ]# C4 N1 {) N! a2 G; d$ t- _. B
* H* w- r2 V! Z( h' z
lpad(str,len,padstr)   
& w; `8 h1 t" P6 F$ H3 l' \用字符串padstr填补str左端直到字串长度为len并返回  5 D" O. o# f% \% |/ D9 V2 t
mysql> select lpad('hi',4,'??');  
+ w) |% w* ], o% l3 M2 m+ O  -> '??hi' 1 K& k3 L" |  j/ Y0 n1 G8 K, u2 }
   
! b* G5 I+ W2 l( A+ \rpad(str,len,padstr)   
4 @$ o& N$ F" B( X% q/ j- ~5 B3 i用字符串padstr填补str右端直到字串长度为len并返回  0 U5 `$ G! Q: H+ X- Q# z
mysql> select rpad('hi',5,'?');  . b1 D0 C; m. u9 J
  -> 'hi???'
! ]2 a5 j: N; f( C5 a: H' S+ D : R6 q/ ~1 b1 @' j
left(str,len)   / a; E3 u0 }* g; L1 p- N
返回字符串str的左端len个字符  ' R( r; K. Z2 O% R
mysql> select left('foobarbar', 5);  
  R7 E( j+ }- y' [  -> 'fooba' 6 A/ o6 O6 u  [# J
  ~, o# |; z  Z) F1 u6 N( C7 b
right(str,len)   9 Z! }/ K0 s* J. U8 ?  S
返回字符串str的右端len个字符   
2 q; T6 ^: t9 Lmysql> select right('foobarbar', 4);  
7 l; R; i) w/ w- }$ ]  -> 'rbar' # X) b+ E7 _/ J+ |8 ^
7 C( i! |% \5 c# ?
substring(str,pos,len)   
: }6 o$ S/ e: J% r. t# c5 r4 fsubstring(str from pos for len)   4 k" O$ s2 H; b. s- i( [" _: u
mid(str,pos,len)   
2 K) L1 h. [8 T0 O返回字符串str的位置pos起len个字符mysql> select substring('quadratically',5,6);  
! S! H; k/ _  c* Z2 A  -> 'ratica'
8 r/ F7 \' Q/ q% c  q5 l+ ?$ l: P" d " ]6 q6 ^0 ~0 V' d9 }8 U# K
substring(str,pos)   / |1 f$ \$ H4 [0 t4 j) C
substring(str from pos)   
9 y) R& o" x* M+ J6 ^. x& r* j返回字符串str的位置pos起的一个子串  
: J' @% h9 C2 W5 I% S' w# O, H4 S5 ^mysql> select substring('quadratically',5);  " p' u, f; I, p+ W' h
  -> 'ratically' , p, R0 E) `! u7 [7 J# b
mysql> select substring('foobarbar' from 4);  ; b- D! D) D7 X* W' |9 `
  -> 'barbar'
) x/ N0 P! @: a6 |8 r . I; y7 `8 s$ ~7 L9 g% L' I
substring_index(str,delim,count)   
& T' H9 `0 [0 Q' w. E) W& `' u+ G返回从字符串str的第count个出现的分隔符delim之后的子串- S  J; a9 W) m& j* R! c4 s
(count为正数时返回左端,否则返回右端子串)  ) S+ d& e; Z0 N0 c
mysql> select substring_index('www.mysql.com', '.', 2);  * a! b7 e0 Q9 `* s7 q" D
  -> 'www.mysql' 0 I0 A# U- l1 ?( N) `" y9 M
mysql> select substring_index('www.mysql.com', '.', -2);  6 P. Q4 X9 }( G7 u
  -> 'mysql.com' + E' v" V6 G$ @0 J  D0 D" Z  I0 I

) R! V' G; q( M0 l7 c8 Oltrim(str)   
! O4 V3 s) g1 ]8 K* u& @返回删除了左空格的字符串str  
  L% }6 K% |: o3 `mysql> select ltrim('  barbar');  8 X2 J5 c# Y" m# r% f! s
  -> 'barbar'
, N/ F  {  H$ x5 H  j
  B) [( c* [! W# Urtrim(str)     ^$ ^# K% i/ ]; G' \9 q
返回删除了右空格的字符串str  
  G) N. M  H( F( P$ A8 Mmysql> select rtrim('barbar   ');  
7 e% j2 y" B. k! s3 e6 _7 |" B7 H: V  -> 'barbar' ! b# @' y% s! U2 g1 y
" |  b8 U$ {$ K0 W
trim([[both | leading | trailing] [remstr] from] str)   , t2 T0 V7 U# O4 B* _' P
返回前缀或后缀remstr被删除了的字符串str(位置参数默认both,remstr默认值为空格)  
7 U5 d/ k, f5 [1 X. M. G  r6 Wmysql> select trim('  bar   ');  
, T  I! E3 a& W8 m( E  -> 'bar'
" x# a! B4 o) X1 pmysql> select trim(leading 'x' from 'xxxbarxxx');  2 ?7 w3 R& {$ p& @5 x
  -> 'barxxx' ) ]! O) E* m9 }) J5 O2 V7 l$ Y! a
mysql> select trim(both 'x' from 'xxxbarxxx');    n5 k1 W, V5 r- }5 V$ e
  -> 'bar'
+ z- x* O& _$ g6 l6 o! l* bmysql> select trim(trailing 'xyz' from 'barxxyz');  . o2 E0 H2 f, U' c! j
  -> 'barx'
; d8 K& M! Q8 p 7 Q; z1 M% z( W* C( ?
soundex(str)     ~/ w1 t- ~# C  r% R3 `
返回str的一个同音字符串(听起来“大致相同”字符串有相同的" _0 s% q' S% n1 a
同音字符串,非数字字母字符被忽略,在a-z外的字母被当作元音)  # h, u4 a2 ?9 ^) j
mysql> select soundex('hello');  
) f8 I3 _& F. }7 {* _+ B  -> 'h400' $ r" U7 g1 r2 ~/ R  N5 B3 v
mysql> select soundex('quadratically');  8 K7 D1 F1 L+ |1 x* s  w+ B
  -> 'q36324'
! q$ H  g- _2 [5 D" m   5 g) p8 Y$ A. j& X& W
space(n)   
0 x6 V7 E+ {+ w% f8 |返回由n个空格字符组成的一个字符串  + E( Q( T9 ?: W% ]  l
mysql> select space(6);  9 H- k1 _  X+ t# J$ ]
  -> '      ' # A$ o2 U+ v; y$ C+ f7 Q9 x
   ' O: k. `8 s0 j6 k  z1 \- @) _
replace(str,from_str,to_str)     K0 E* [$ z+ r4 w9 l
用字符串to_str替换字符串str中的子串from_str并返回  
- a" ]4 R' q, _9 [) t. \. \# bmysql> select replace('www.mysql.com', 'w', 'ww');  
8 ~3 [4 i, Q* H  -> 'wwwwww.mysql.com'
  y, }9 L6 _* v: t , t* r2 E5 x, m4 r; F3 e7 z
repeat(str,count)  
3 W5 c$ I" P' R返回由count个字符串str连成的一个字符串(任何参数为null时
) G- R& L( ^( ^' L) h) ~' |返回null,count<=0时返回一个空字符串)  - @- `4 }  _2 H7 f! `
mysql> select repeat('mysql', 3);  
2 J! Q# P* s! ?. U  -> 'mysqlmysqlmysql' 1 D! R5 B1 Q. _/ R' s6 x  Y6 w8 k
   
( X( a; K/ V  D4 }reverse(str)   . L, f# d0 u; l# E$ `$ z% \  I
颠倒字符串str的字符顺序并返回  
" Z2 x0 B0 l( g# S4 k( u" Wmysql> select reverse('abc');  - Y+ d& x( A; H; D
  -> 'cba' . U$ V9 B* X( o
- A+ W  Y7 ]. R! D0 b! y  _1 _
insert(str,pos,len,newstr)   
# F- X( V0 H( ~% k5 l把字符串str由位置pos起len个字符长的子串替换为字符串3 x" t. i* L7 d6 o$ |3 [
newstr并返回  
# Q3 j9 L8 j' h2 }6 [mysql> select insert('quadratic', 3, 4, 'what');  - z( y' m$ [2 r- E/ J6 z. x' d
  -> 'quwhattic' 9 m0 q  {/ N' m7 q7 i
# ^& |- x' V$ L
elt(n,str1,str2,str3,...)   
7 g+ w& j8 _+ F: ^! m返回第n个字符串(n小于1或大于参数个数返回null)  3 A2 H" }7 `% D4 b) n; R
mysql> select elt(1, 'ej', 'heja', 'hej', 'foo');  : h: M% E+ x( ?6 q6 i
  -> 'ej'
* u( ~& F1 S0 S" x9 b6 \3 I) c% mmysql> select elt(4, 'ej', 'heja', 'hej', 'foo');  6 C! `: K2 O1 X' m9 \
  -> 'foo' # l3 J9 l/ F8 A! [7 k3 O
) Q: g) U2 y2 n# k
field(str,str1,str2,str3,...)  
" ]2 |( g8 T7 X返回str等于其后的第n个字符串的序号(如果str没找到返回0)  ; @2 d6 @7 d; m
mysql> select field('ej', 'hej', 'ej', 'heja', 'hej',( g3 e3 k' K2 [
'foo');  
9 h3 X* e5 w# h- q  -> 2  
& ~. G# J2 S$ i; e, D: Fmysql> select field('fo', 'hej', 'ej', 'heja', 'hej',. W4 v0 {* X+ I5 H" A" v
'foo');  
9 O) ]4 v' ^) Z& }  -> 0  8 y0 h9 h1 y) W; Z6 C0 n( t# r6 J* T
# c7 \% n7 I% [3 z: ~0 S2 z
find_in_set(str,strlist)   
' x& f+ Q: m* F( b! B返回str在字符串集strlist中的序号(任何参数是null则返回; |+ B  N1 e/ {- r# s3 J4 g
null,如果str没找到返回0,参数1包含","时工作异常)  
1 A# e) ^. |6 _" }, w4 G. }mysql> select find_in_set('b','a,b,c,d');  0 P" j% _7 L; b( v1 F+ C. J
  -> 2    x  `( ^! n, g8 d9 V5 J
   . @+ T5 Q2 M0 R0 h& o
make_set(bits,str1,str2,...)  ; [) v. {: b# V( w& F
把参数1的数字转为二进制,假如某个位置的二进制位等于1,对应
) H6 J, F3 ~4 r4 f5 e3 F9 Z0 g) {7 ^位置的字串选入字串集并返回(null串不添加到结果中)  $ p6 m& B/ Q, }* @3 f
mysql> select make_set(1,'a','b','c');  + e" y0 F5 m$ a  X4 x
  -> 'a'
) D: Q+ V, f# a7 P. {! smysql> select make_set(1 | 4,'hello','nice','world');  - A& N6 n0 p2 }' Q* i8 e& A3 r
  -> 'hello,world'
$ y4 q6 [, |/ Imysql> select make_set(0,'a','b','c');  
- `6 X6 [& M+ T! b  C7 R7 T  -> ''
/ y% H2 X  M# [+ o% l* E' z. t/ I
! t) _% v6 m& H# m! g) K! R' j1 T4 Texport_set(bits,on,off,[separator,[number_of_bits]])   
* G: }7 J7 N" K9 i6 L% `按bits排列字符串集,只有当位等于1时插入字串on,否则插入
* A* @) {. w$ goff(separator默认值",",number_of_bits参数使用时长度不足补0# p, j9 y$ ~, s
而过长截断)   8 T# k, Z# Y6 M8 @7 }$ e/ M
mysql> select export_set(5,'y','n',',',4)  * Y! S& Y1 I3 c/ z! W
  -> y,n,y,n   
3 ]$ i7 {. [5 Z, b! ^
# U) ^: A0 W9 o* r5 mlcase(str)  
6 M  C% Z$ v1 x9 Alower(str)   0 E) f" ^0 _0 Y! F* j* J$ B
返回小写的字符串str  7 B  [: m4 u) W4 u
mysql> select lcase('quadratically');  
2 _% M2 G! h2 n1 L2 }5 b  T( ~# S  -> 'quadratically'
2 t+ t  r6 D7 n3 Q1 ^, L   
+ z* B' ?& z) p9 Iucase(str)   3 X( |# M. ~: O, @; V
upper(str)  
% @1 K5 Y0 Z1 T3 o返回大写的字符串str  4 D' d% O& R, ^$ V, n" k
mysql> select ucase('quadratically');  - g! W( X: m  I) L6 t
  -> 'quadratically'
8 C8 p7 K- J) N& k
& d& k4 U; @8 Y/ d- d! `load_file(file_name)   
7 h8 @2 P1 ?+ B3 h5 B  E读入文件并且作为一个字符串返回文件内容(文件无法找到,路径1 a3 [1 j5 @+ D0 S
不完整,没有权限,长度大于max_allowed_packet会返回null)  
  B# M7 \! K, S" w3 h. S% {mysql> update table_name set blob_column=load_file; V7 |9 {8 }8 y7 g* K2 o5 ?
("/tmp/picture") where id=1;  
3 e6 y, z5 I6 x9 l% l
, Q" `% Y9 G" N! w. `6 ]2、数学函数9 c1 Z% b7 ]* O! s9 R  q- a
abs(n)
9 a( D* g5 ^" p# |! T6 p: V+ P+ `返回n的绝对值  
# e+ R" |& p% N2 k. s( rmysql> select abs(2);    * n7 ~7 _) ?6 J  a& d% C9 ]; |
  -> 2   
, A) J! r  t! G3 ?mysql> select abs(-32);    ) M3 e( g( e# U  B$ n& p
  -> 32   
/ Q! r* m+ T: N+ p8 L. R   
' _7 p* p/ ~) l4 g+ m4 Z% ^8 Msign(n)  . B' x5 F* K# z1 o; h; O) C
返回参数的符号(为-1、0或1)  
! I* |, X/ _6 j/ o) dmysql> select sign(-32);   
9 e8 I" v" n: }5 E  -> -1   
4 z) e# S; V6 k" p( j+ l* tmysql> select sign(0);    ; |9 `' l2 Q+ _- u
  -> 0    & E/ u4 V$ t- f# }
mysql> select sign(234);    1 U0 E) u$ g. t( o
  -> 1   
2 ]( i9 }7 q* | ( c( ^8 I: _5 |9 V
mod(n,m)   
0 G! \0 ]0 n# K5 U  m+ A取模运算,返回n被m除的余数(同%操作符)    - b" y/ G8 j( o+ t: o' O
mysql> select mod(234, 10);   
$ j* J/ a+ w7 ^3 N  -> 4   
7 Z6 W+ e" }8 ?+ _& _mysql> select 234 % 10;    8 p; ?, b" C9 r3 O9 H
  -> 4   
! L$ |" r1 C0 }3 Q0 F) mmysql> select mod(29,9);   
( W- G* H8 ]8 C& Y% J6 {8 ~0 E9 ?  -> 2    1 F3 Q- ?6 U1 o& h
: Z4 t; \! a  s* [# K
floor(n)  
, V7 N9 Y. F; ]5 @1 n返回不大于n的最大整数值  
  P; t6 B: c3 J' I; F) N4 D2 Vmysql> select floor(1.23);    ; n! J6 q  n0 q/ U; v7 Y0 s" p$ |# k
  -> 1   
/ n) m8 e) b6 n9 V% \$ X; I& |# G# Pmysql> select floor(-1.23);    " }* G  p( Y/ I/ R
  -> -2   
  a' G+ h" R. B1 R. d
8 [/ q' E. T* Z7 l9 }, {) K' eceiling(n)  
- ~, C( \4 H; r0 j7 h返回不小于n的最小整数值    S* y* B5 Z, Q* F' g4 [
mysql> select ceiling(1.23);    7 y# |$ @" L8 F7 [6 T8 e8 a$ D& u
  -> 2      o/ ?9 d' |3 n- n2 R; V( W
mysql> select ceiling(-1.23);    8 `/ h2 w3 w/ o! r1 I; H
  -> -1   
7 t3 `, u# D; {! H0 Q1 `8 v
) I6 ?- l4 ~4 T) Lround(n,d)  & Y; S; M- l( z6 a; X9 F
返回n的四舍五入值,保留d位小数(d的默认值为0)    S# v$ V2 X# p) k
mysql> select round(-1.23);    / `3 y- E7 y- D8 b, e0 [7 d
  -> -1    * _) _; ]7 c& Q7 [" O/ i
mysql> select round(-1.58);   
9 D$ w6 y+ B( l  f4 Z5 U, F  -> -2   
0 F- u% R6 G4 ^- E' t0 b8 Jmysql> select round(1.58);    0 M7 e7 O3 }, Z1 [- L8 M% J2 e
  -> 2    3 T' w6 d9 M1 W8 {& S% S1 m
mysql> select round(1.298, 1);   
! t* Z* |. K, Q  y# t0 b  -> 1.3   
) @# Z' W3 C( Vmysql> select round(1.298, 0);    : ]% |5 Q4 P5 u& z( \3 z7 C, S
  -> 1    & L* R8 d7 `+ @/ N3 i' F( f& ~3 n6 l

8 }3 C) l# Z7 U* ^exp(n)  
* ~8 s& V5 `6 F# y# e返回值e的n次方(自然对数的底)  
7 Z: d0 N: ^8 Rmysql> select exp(2);    9 x# E  ]( M% p* j2 H
  -> 7.389056    / ~; b: a+ G0 J. r! R! r, X
mysql> select exp(-2);   
0 ?# e+ U3 B% G0 y% H+ h  -> 0.135335   
  y. v7 x" p! k* q! W
7 E/ Y4 }* E4 h& elog(n)  
8 R7 I- U* D8 \. y* N返回n的自然对数  
$ k$ Q/ g  ^% X+ U6 S3 H4 dmysql> select log(2);    7 k  }2 ~, F. i
  -> 0.693147   
8 E! S5 m" m5 T/ \+ _9 omysql> select log(-2);   
4 Q. [/ \. r) M1 c0 R/ W  -> null    ( z( J- x1 K9 s; j: I3 R

, l% e/ t: s' Clog10(n)  + G/ j1 e' [" B- F: F
返回n以10为底的对数  ' o, i* t; |! ^5 w* u! v$ z
mysql> select log10(2);    / T$ G9 Q4 n$ ~- j$ b7 _% ^
  -> 0.301030    : v# h- A: J5 R' I
mysql> select log10(100);   
' ~" U0 c1 `) l6 N) D  C( B  G  -> 2.000000   
, ^" `6 ]1 E9 O3 i2 u, S1 b% ~mysql> select log10(-100);    + Z) M+ E! F7 [5 w/ C
  -> null   
8 w: L3 l  B1 W$ ~' ~, r5 [  u
5 z9 e2 U- N. [4 T+ e2 v1 {0 |pow(x,y)    , h' U# l% B  F# j- c: S) x3 w+ B+ _
power(x,y)    6 T& r& \# Z- k* v0 F! Z; a
 返回值x的y次幂    z( F5 c: I% }5 @" b# D+ q  h5 e
mysql> select pow(2,2);    9 A* r; t/ v5 `5 f$ ~
  -> 4.000000    : ?  g! u; k" R% d1 `
mysql> select pow(2,-2);   
: O+ {& u; m  a2 O$ Y$ }" B. {, h% K5 ^9 p  -> 0.250000  9 O. ?8 F: U! Z  a+ X

; S) k" [4 {! D4 M# m+ d5 Qsqrt(n)  # B4 G2 b$ i7 t0 l. i4 o
 返回非负数n的平方根  3 U# l% H' Z/ v$ ^" `
mysql> select sqrt(4);    , E- k2 g: i% h0 b5 `
  -> 2.000000   
; w9 ^8 Z/ A( S, T4 J/ hmysql> select sqrt(20);    4 E& l( W; u; u- G" A
  -> 4.472136   
* l7 Y( E( {% F) Y
. P0 E7 [8 l, k% P! p' opi()    3 G) Z9 D% G) {
 返回圆周率   
7 V8 X! e2 B2 ~& ?mysql> select pi();    7 b  j( R. D* O$ Q
  -> 3.141593   
: E" B! l2 `; ^+ {$ _
0 v6 V! L+ I5 `$ E4 }, hcos(n)  
) r2 x/ r* g4 ?( b4 q 返回n的余弦值  5 u" a* k% m  i5 p& q* B! c
mysql> select cos(pi());  
5 n# n6 S$ N$ i9 [1 e  -> -1.000000   
0 \; ^! o" V- P4 D4 n. m+ h: E  u # ^* \8 H* r+ Y! g) t
sin(n)  4 R; o  a5 e6 e, K
 返回n的正弦值   % `2 W  e8 C9 [
mysql> select sin(pi());   
, k' D: o; r+ m6 J0 F- G  -> 0.000000    * s" y2 f6 f- }9 C0 ^8 }% l

8 G6 |. A& d7 C8 p4 R2 R9 ~tan(n)  ' B+ p+ y6 p# i) K- z: O1 F3 `
返回n的正切值  
) B8 W7 N) A) U% h1 f* q+ C9 Bmysql> select tan(pi()+1);   
) V2 N: W" R# `  -> 1.557408   
/ `- {! S3 l5 `. t6 s& z: \ * z, E' ~, @1 e+ j8 L
acos(n)  
6 D6 {0 P3 D# ]7 S; _* q 返回n反余弦(n是余弦值,在-1到1的范围,否则返回null)  
3 |: k( Y; m+ p- V! p  }mysql> select acos(1);    & d- f/ q; R6 F3 t2 b$ ~& s7 A
  -> 0.000000   
1 g# C7 K5 {# Dmysql> select acos(1.0001);    / f0 b. v  F; v$ |8 L
  -> null    % V1 m, }5 {6 b9 ]3 {4 `& @& {
mysql> select acos(0);    2 r, A* U7 ~$ x  C* h. k
  -> 1.570796   
& G, y( k. g( ~# x+ o
; _5 e, X4 u) Q9 d! S1 C) qasin(n)  
; ~- J! d7 z& f8 }! r% K返回n反正弦值  
$ |3 \7 F( a* F9 d. [mysql> select asin(0.2);   
  h0 s% x" S5 N& Z4 D( L9 N  -> 0.201358    6 v, i4 X. B* d) e5 h9 S
mysql> select asin('foo');   
1 g# Z" m5 F- d1 u/ @( z  -> 0.000000   
) o0 k4 B- ?$ {, k! p
0 F( M! c0 B. ]+ e( qatan(n)  
# q7 v  i1 X$ u' c. q5 e; @1 m返回n的反正切值  
# H  {3 e- ?; l1 b) h6 S1 E) xmysql> select atan(2);   
. e5 s7 c0 T, Z" n' o- r1 B: o  -> 1.107149    7 n9 V5 X& D% I
mysql> select atan(-2);   
  J! e8 ]9 G" }* l  -> -1.107149    " C( w$ l! g  s) o7 K# n
atan2(x,y)   
0 _2 V+ R* _1 Q' J; d1 D+ Y5 ]* f 返回2个变量x和y的反正切(类似y/x的反正切,符号决定象限)  
& m. s: ]4 F/ }8 r0 ~2 ~5 Umysql> select atan(-2,2);    , K0 l% c$ K4 X9 Z3 Y2 U
  -> -0.785398    8 q# ]8 \, R7 K% S
mysql> select atan(pi(),0);    : y* Z6 Y9 N, M( {
  -> 1.570796    7 ~( Z. K! p+ Y& u" d' T: v
+ w' S6 U9 S. g
cot(n)  6 _' {* x2 {- h7 J
返回x的余切  
! _" x: M. R0 i( emysql> select cot(12);    ! N( _( H) Q* ?4 l; X
  -> -1.57267341   
! o) M1 q8 d! Y( w" \, A0 p/ {" l1 ?mysql> select cot(0);    " K$ z. X) R& B7 \% ?/ j
  -> null    ' |6 Q5 b. x8 C  M4 O; `& x0 L
# A6 z; [, ]' R0 o2 [" P7 v( ?2 F
rand()  
5 q$ P! t# k: U$ P, X9 D# ~rand(n)    1 |, h' Q# C2 ~  Z8 [/ [
返回在范围0到1.0内的随机浮点值(可以使用数字n作为初始值)
3 R. J: o' j" i: h, R
- f# \" U2 N' P* H+ [( N+ Emysql> select rand();    9 s  A# ^0 r. a: |( _: L
  -> 0.5925   
9 s) m' S/ Q! Wmysql> select rand(20);   
8 j+ Q4 g( @2 g2 \  -> 0.1811    7 Y+ k) O) r/ V  q: D7 M( d
mysql> select rand(20);   
9 Z+ }+ Q; V2 M  -> 0.1811   
1 G3 Y6 @, y/ l+ a4 a& ?, d5 dmysql> select rand();    : h$ v! {2 e) n% w4 F+ P5 F
  -> 0.2079   
0 A+ Z# D$ h+ O3 S. xmysql> select rand();    * Z9 k, K1 c$ p4 n* S4 C$ C* z
  -> 0.7888    * Y: ^+ x2 y# y3 V9 p2 r' D

* Z$ P1 E' ~% T. rdegrees(n)  / X; l6 p9 w4 z$ A* V2 a& w% ^+ g. N# s
把n从弧度变换为角度并返回  
& A# h8 A4 j  V6 Emysql> select degrees(pi());    . N8 ~4 ?) s7 L  P; {9 @
  -> 180.000000   
- e1 Z' S6 x# w* |" h' Y2 f
5 a& B" m- l  E8 ^  kradians(n) & y$ f$ s0 |  Q7 y! n9 H+ T0 M
把n从角度变换为弧度并返回   ) Z( a2 X* d. k8 c* f
mysql> select radians(90);    9 P  p6 N( M* X/ P% k% O1 h& ]' h
  -> 1.570796    , G4 e+ ~1 P$ |( p6 a! G" m* i' K* v
- ~, r, f+ r- m( n% l2 k
truncate(n,d)    ! P% a9 n2 Q( S% T+ L% b' _6 {: `4 Y2 l
保留数字n的d位小数并返回  - t  V3 d/ G( ]2 ~; N
mysql> select truncate(1.223,1);   
( I6 s; G0 L/ j. b: P: m% Z  -> 1.2    " T0 N6 S( M7 d, l
mysql> select truncate(1.999,1);   
5 u& v% L2 _3 j  -> 1.9   
$ h2 E& A! T* nmysql> select truncate(1.999,0);   
/ s( j* l" [6 B4 J  -> 1   
* Q! p% Z0 d8 t7 H+ |6 E
6 X, X- K* P) K0 \+ t9 s4 Kleast(x,y,...)   
- T* e! K/ E6 [$ `1 L' x; s; Y返回最小值(如果返回值被用在整数(实数或大小敏感字串)上下文或所有参数都是整数(实数或大小敏感字串)则他们作为整数(实数或大小敏感字串)比较,否则按忽略大小写的字符串被比较)  - v% v. |& ?3 p! O
mysql> select least(2,0);    " Z* w/ K% V/ k$ Q! S  x/ D* R
  -> 0   
: c) P0 e! ?6 c2 g1 Emysql> select least(34.0,3.0,5.0,767.0);    1 {7 Q$ H1 L6 ?- P' I! H
  -> 3.0    8 A/ `3 H" l& A0 {: a$ i9 J
mysql> select least("b","a","c");   
& q/ }- w! `4 |& v, d7 P7 G  -> "a"    - p1 w7 R! o. V0 C, a
3 h1 l) h1 ~7 U2 I( _
greatest(x,y,...)    7 s5 v  U: K9 H" P
返回最大值(其余同least())  : E* d  K$ D( j( s% ^& K
mysql> select greatest(2,0);    & }7 l; q3 l* S; z7 `/ x
  -> 2   
& q" \# b5 O' v7 b: m) p, |mysql> select greatest(34.0,3.0,5.0,767.0);   
2 }0 H) {+ W( [5 e, U. Z, ~  -> 767.0   
  x8 h2 m' E% d% B; ~* i) X* gmysql> select greatest("b","a","c");   
6 W5 h# ?1 M! _3 ]2 m6 z- ~  -> "c"     % g6 w. z6 c1 J# `
0 A8 V/ P! d- m7 s6 ~
3、时期时间函数 % e8 \  T1 \$ e" n" h& o' f% I
dayofweek(date)   
6 H8 x3 z& s9 r& k0 ~返回日期date是星期几(1=星期天,2=星期一,……7=星期六,odbc标准)  # S( r7 L( c/ R, ]
mysql> select dayofweek('1998-02-03');   
5 B( F8 g& T' @" Z  -> 3   
2 |& l. ~5 r% j/ ~1 l" X
7 V/ C* |/ ^6 F& zweekday(date)    ) P/ P7 `/ K2 Y6 o0 B5 ~2 I# L
返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。
8 c' U, I/ b- ?6 ?  
* L$ r! h* }/ Y, L' L  D) fmysql> select weekday('1997-10-04 22:23:00');    ) \  r" h9 S4 v1 L( o6 O
  -> 5    0 S4 H6 i9 b* u% E: b* Z, Z' |, n
mysql> select weekday('1997-11-05');    0 W- R9 D0 `7 X/ p6 d0 R- W
  -> 2    - W4 G& a* V+ U
5 ^9 t/ T# V. ^$ X
dayofmonth(date)    5 r5 C# E% w" s! Q. ^! S9 X0 x
返回date是一月中的第几日(在1到31范围内)   
( B* Y2 O$ |) k9 amysql> select dayofmonth('1998-02-03');   
. z0 F$ R# E% c# K' K/ ~) s6 ~" N* T  -> 3    7 ]. s2 a1 Q2 E0 ~' |8 x" z

+ f5 q) e- s6 [! b& S3 y# tdayofyear(date)    0 |  Q5 c" t, Z3 [
返回date是一年中的第几日(在1到366范围内)    & u- }  y) }5 v+ d( {
mysql> select dayofyear('1998-02-03');    7 w! w. l0 W/ k% E) r
  -> 34   
9 @0 f9 h% ^& w7 t" D % [& t7 }+ t# A9 f! L
month(date)    & l$ M: H+ K9 e0 Q: }
返回date中的月份数值   
* [4 ?5 d4 e* j5 [' W7 k5 {# F, |" tmysql> select month('1998-02-03');   
5 g0 L0 b5 W1 k4 d* ^6 z/ o; O& N  -> 2    $ h, d2 f$ k8 w2 q0 w- M
; N/ Y; a! s1 v* S8 M
dayname(date)    % p( F. X9 b3 d
返回date是星期几(按英文名返回)  
+ f) ^7 Q- k. q$ g. `mysql> select dayname("1998-02-05");    : C) \9 l$ i+ |
  -> 'thursday'    ' ?2 K; x) ^, a/ c5 G# k

& V0 G- c0 ]3 \  mmonthname(date)    $ t: |4 z# s* Z
返回date是几月(按英文名返回)  3 M4 J% L; {- I2 _: ]
mysql> select monthname("1998-02-05");    1 Z8 E- w$ L; G/ b" a( o( H
  -> 'february'    # n2 d! m9 q4 F8 @7 Y- {0 Z

! l- k$ ^5 X. A  V: t2 @" fquarter(date)    1 h9 l$ T; ?$ K- @( `
返回date是一年的第几个季度    9 F/ {; Z2 g) F
mysql> select quarter('98-04-01');    . f9 R5 D9 s% ^2 I1 m
  -> 2    7 j+ O6 I! I9 ]. Q) Z* _  a

0 X# K5 ^: U* nweek(date,first)   
0 }+ b( d( r- R" U8 _. o, p' c返回date是一年的第几周(first默认值0,first取值1表示周一是
5 a" h) d0 k& N; g  R周的开始,0从周日开始)  * ]. G0 Y9 j6 }% u* N9 |7 n0 [
mysql> select week('1998-02-20');   
, V/ Q5 M! z4 a* U6 R- @  -> 7   
+ {) \. p5 s! Q8 s$ w- U$ imysql> select week('1998-02-20',0);   
) p3 ^" m0 s# Q0 ]  -> 7    5 q# ~6 P1 Z" J$ }
mysql> select week('1998-02-20',1);    ( c& ?+ h+ S, [
  -> 8    8 T* f1 T7 n4 x( T/ o; [% L

! k  U4 }# U# d7 j4 d# ~& Z- }year(date)   
: V0 i) y9 |. c8 F4 t返回date的年份(范围在1000到9999)   
3 g% t( e4 E* O; Bmysql> select year('98-02-03');    $ V. f$ O$ v5 {- H$ E0 y  t
  -> 1998   
0 x# F, }6 \+ a) T. C6 k
" E8 N) Y2 _: a" W8 ohour(time)    
2 o1 }+ Z2 z" F1 m返回time的小时数(范围是0到23)   
: q) h. Y4 [' i0 U- zmysql> select hour('10:05:03');   
) G- h+ I9 L' W/ }9 I, p  -> 10   
$ N+ f. ?1 ^: a) W$ i& o
/ Y' D2 K6 V$ u- e9 o  S$ mminute(time)      v& W' l% t1 K+ J, ~; p+ J
返回time的分钟数(范围是0到59)    * R# X/ }: r- g* U: l: P/ J
mysql> select minute('98-02-03 10:05:03');    , u2 ^! \6 Y% j' M3 R5 D
  -> 5   
- Q% D' w+ L0 s
; h3 B8 z* e% u0 ?( }4 R7 Jsecond(time)    
7 ?" t0 \& n7 g返回time的秒数(范围是0到59)   
5 S% S0 b, I5 w% [0 Y  s8 `mysql> select second('10:05:03');   
$ @" Y7 E# S$ B9 Z: C7 H  -> 3   
7 ~$ o$ e: a# s6 R
3 H# ]: m( \* I: j- F$ zperiod_add(p,n)   
) b: I/ ~. T! a2 M4 {4 H  E3 R' a增加n个月到时期p并返回(p的格式yymm或yyyymm)    # R2 A6 O$ y! Z% F9 F* K; W1 Z
mysql> select period_add(9801,2);   
& R/ @6 }: C( _1 G! F1 @5 f5 r  -> 199803   
: c* b* E4 m" M* l
. y6 \' i  l2 }4 S3 Pperiod_diff(p1,p2)   
1 T' {+ N  E6 z2 a" K& z# L% M返回在时期p1和p2之间月数(p1和p2的格式yymm或yyyymm)  3 v- q3 c. w6 Z8 Z# A
mysql> select period_diff(9802,199703);    " ~! Q/ D" x8 @
  -> 11   
+ r) a+ `/ s! |
: y$ \. g4 |3 l: C7 ]7 \date_add(date,interval expr type)  3 R' m: o9 R5 ]4 U* Z+ N
date_sub(date,interval expr type)   
* [+ M0 S6 W  w3 |! Radddate(date,interval expr type)   
0 ?" f4 T0 ~: Isubdate(date,interval expr type)  2 h, ~/ ^, c2 v# q# T- d" g6 Z; b: Z
对日期时间进行加减法运算  
3 k2 O7 E3 I5 P* v6 M(adddate()和subdate()是date_add()和date_sub()的同义词,也, _- V3 e  A, I5 Q6 i
可以用运算符+和-而不是函数  / ]4 M0 |" ]. N; C
date是一个datetime或date值,expr对date进行加减法的一个表
# q% f9 J: B0 X7 _; ~$ i0 v达式字符串type指明表达式expr应该如何被解释  9 v, }# y( N5 A  K. Z, Y7 ~0 ?
 [type值 含义 期望的expr格式]:  " ?/ e: y& g( e( e0 l4 `1 |/ s
 second 秒 seconds    ( o( Q/ s) o, C5 `0 f
 minute 分钟 minutes   
# N0 a2 h' }; |- Q$ x) | hour 时间 hours    3 K+ Q+ B! W# g5 r, c- ]+ ~
 day 天 days   
! s& U9 C0 b! [ month 月 months   
) Q+ l* g8 b2 D# N1 D6 N: D1 A year 年 years   
- t, T9 i2 ?/ J8 [: t1 p minute_second 分钟和秒 "minutes:seconds"   
7 D/ ?1 h- H; w2 j7 \' h. ^ hour_minute 小时和分钟 "hours:minutes"    , _$ R! a3 t) C: I5 Z
 day_hour 天和小时 "days hours"   
7 n" c4 q" I) d2 f* |7 n year_month 年和月 "years-months"    ( E; K% A5 C" ~9 w8 F4 E% G
 hour_second 小时, 分钟, "hours:minutes:seconds"   
, C+ X/ o/ g8 A2 l* l0 G day_minute 天, 小时, 分钟 "days hours:minutes"   
7 Z% Y& c2 P9 b7 ]8 n0 J day_second 天, 小时, 分钟, 秒 "days
8 A' N$ t) P8 }7 l3 N) Chours:minutes:seconds"
4 N- y/ {5 K& ^8 e& j/ ~: k+ G' f expr中允许任何标点做分隔符,如果所有是date值时结果是一个# Z% i) m* K* ]' ]7 w3 x. I! f1 f
date值,否则结果是一个datetime值)  
4 b  O9 Q  X+ N- D% I- @ 如果type关键词不完整,则mysql从右端取值,day_second因为缺
5 v4 t  w' A" G9 s7 [; Q少小时分钟等于minute_second)  
) e, G' p0 s' d5 v 如果增加month、year_month或year,天数大于结果月份的最大天
" T" e$ ^" J; N数则使用最大天数)   
% B9 r& r+ L( j4 [1 p4 D7 G1 Cmysql> select "1997-12-31 23:59:59" + interval 1 second;  
$ |$ e' _. k( L/ d# v! D& S
4 H0 v4 @1 N8 h/ I/ I  -> 1998-01-01 00:00:00   
4 X+ W; W; h8 T9 v. S6 {' ~mysql> select interval 1 day + "1997-12-31";   
) g5 O7 k, {4 G: h  -> 1998-01-01    - Q4 `; E2 D" V  c) B' u, J
mysql> select "1998-01-01" - interval 1 second;    . m  L* r: }" q) n# Z
  -> 1997-12-31 23:59:59    2 c1 _; f) I* z* |2 \  |
mysql> select date_add("1997-12-31 23:59:59",interval 1  h' i% I4 c5 d" @) }3 {/ j
second);   
( M+ l8 ^8 k* S; ~7 h  -> 1998-01-01 00:00:00   
4 @  G! _6 D7 C( o3 |" z* |mysql> select date_add("1997-12-31 23:59:59",interval 14 [, a  |0 @$ e8 v3 }  D
day);    % _, _! w1 k( h; p# y
  -> 1998-01-01 23:59:59    + ?$ c7 j) {+ F. @4 W* A. l
mysql> select date_add("1997-12-31 23:59:59",interval3 H8 ]9 o. X' Z# C( X% L# m
"1:1" minute_second);   
0 Q' V& M/ `8 `8 L2 i% V6 L' k) y  -> 1998-01-01 00:01:00    3 k- n; B" @  F8 D
mysql> select date_sub("1998-01-01 00:00:00",interval "15 H+ s3 u9 T3 s$ Y
1:1:1" day_second);   
6 g6 F7 S7 V- e. z7 [  l1 D" b  -> 1997-12-30 22:58:59   
; P; N- J% g! p( ]& R4 Imysql> select date_add("1998-01-01 00:00:00", interval "-1
9 Z3 p# s: w# R* x7 f10" day_hour);  9 Z0 a" n/ y. Q) B! r
  -> 1997-12-30 14:00:00    ! j( v  b9 m! p5 w8 _
mysql> select date_sub("1998-01-02", interval 31 day);    5 r. s5 T/ X  |7 [0 T$ y
  -> 1997-12-02   
1 X2 C  h, |1 Z* M4 Xmysql> select extract(year from "1999-07-02");    * k$ B+ Z! S$ S& E1 \% K
  -> 1999    0 L* Y' c  w6 c3 y2 _6 a
mysql> select extract(year_month from "1999-07-02% W6 u, k- n/ y7 Z
01:02:03");   
/ t7 M0 D- D  f/ m  -> 199907    7 x9 O( }; {4 S8 O8 V1 D& P. ]6 a
mysql> select extract(day_minute from "1999-07-02
* m4 b, Y6 R- _+ X; j% x01:02:03");   
( K" J9 f8 h8 l) @0 ?  -> 20102    8 M: ?; j; ~* ]' F( n/ S6 h

! v1 w$ i! M6 |8 }( Tto_days(date)   
- g4 A8 {6 P) s+ j0 o返回日期date是西元0年至今多少天(不计算1582年以前)  9 C6 T4 i% x- E3 T2 w
mysql> select to_days(950501);    ! T0 L, d% D  \& T
  -> 728779   
& ~& w; j+ [! T* {mysql> select to_days('1997-10-07');   
; V2 p$ Q. ]( B; x  -> 729669    0 ?6 G  u+ b# u7 V3 `
8 @7 R  D) R& h! ~, ?( X+ @2 ~6 q
from_days(n)   
/ x) f1 H  Y% K( d( E* E' } 给出西元0年至今多少天返回date值(不计算1582年以前)   * @5 O! t8 u  Z" ?9 B8 q" S
mysql> select from_days(729669);    2 m6 t3 K7 t) C9 Z' Z* }0 L5 A
  -> '1997-10-07'    : r- r$ c# u, H5 c6 f3 G1 f
7 x  q" S2 M- O6 n3 T- E
date_format(date,format)   
4 D& m4 e3 c  u 根据format字符串格式化date值  
; |9 X% ?# q4 a% ~ (在format字符串中可用标志符:  
1 ]; o/ I6 b0 `5 X) ? %m 月名字(january……december)   
, g! h, z) |* r: F5 i %w 星期名字(sunday……saturday)   
- o9 @% H$ \8 L3 G9 s  h %d 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)    6 x/ N% G3 D3 O" a. ^- K
 %y 年, 数字, 4 位    2 m  J% F7 M  E0 F, ~7 n
 %y 年, 数字, 2 位    , ?9 n4 n; E3 \/ x! b
 %a 缩写的星期名字(sun……sat)   
  Q1 q/ d' w5 \ %d 月份中的天数, 数字(00……31)    $ x: H& @* G" Q( A3 k7 M
 %e 月份中的天数, 数字(0……31)   
- u, H8 ~9 @8 d3 f' B0 _ %m 月, 数字(01……12)    1 S8 E  ~% B) z8 z/ `
 %c 月, 数字(1……12)      z) ]( C! H+ g+ w! O2 K
 %b 缩写的月份名字(jan……dec)    ) `5 @( O( j4 y
 %j 一年中的天数(001……366)   
' G3 N. t$ r+ L %h 小时(00……23)    : w( D8 x" c0 q
 %k 小时(0……23)   
) M# z" p: I: L* }3 z %h 小时(01……12)   
1 @7 z5 l( c4 Y! y+ y! y! V %i 小时(01……12)   
* ~0 t% E. z' w' H  f %l 小时(1……12)    * @9 h5 M! \) }
 %i 分钟, 数字(00……59)    2 D6 F  ^9 k; O8 y3 ?
 %r 时间,12 小时(hh:mm:ss [ap]m)   
0 v& b& W8 G6 Y! F( c %t 时间,24 小时(hh:mm:ss)    9 }5 A1 |. ?$ @" V+ t$ {% a
 %s 秒(00……59)   
1 u5 q+ b! f. U2 r! f1 C %s 秒(00……59)   
& c; J6 y% l# T" q& J0 s9 k8 | %p am或pm    - s, b% I5 V7 g, U# G& H" p8 T" J  ^, c1 W
 %w 一个星期中的天数(0=sunday ……6=saturday )    + Z0 W* \# j" ?
 %u 星期(0……52), 这里星期天是星期的第一天   
% a- Y: a# p9 ^. R6 p8 n %u 星期(0……52), 这里星期一是星期的第一天    % k0 l3 s9 s/ @7 w
 %% 字符% )  4 z! p' W+ u3 u: l5 l: u. r
mysql> select date_format('1997-10-04 22:23:00','%w %m %. w0 n% H, \2 r/ D! L6 C  K) z4 d
y');   
. w. U) d7 y! I9 F0 |. f5 c% W4 L' @  -> 'saturday october 1997'   
( o2 c4 z1 j" L3 Emysql> select date_format('1997-10-04 22:23:00','%h:%i:%2 J* s, X5 N% F( E- C. Q  q& \4 K
s');    9 K7 `/ f2 j% y! ^5 L
  -> '22:23:00'    0 _- X8 y2 O6 i; o$ H6 C
mysql> select date_format('1997-10-04 22:23:00','%d %y %a( ]& @) J: M+ Q( @$ m( s
%d %m %b %j');   
- W3 a4 i) _) l7 B  -> '4th 97 sat 04 10 oct 277'   
, q0 c/ i( Y% b9 `; N+ Cmysql> select date_format('1997-10-04 22:23:00','%h %k %i+ w0 c! w$ L" O. Z; T$ Q3 z/ Z
%r %t %s %w');   
# d3 K" a; P; y2 `; a  -> '22 22 10 10:23:00 pm 22:23:00 00 6'   
6 [3 n( ]4 Y! D4 \. q
" B5 s3 [  w# ?; {' t3 ?time_format(time,format)  
! ~+ y% q2 q; k7 B2 b6 E 和date_format()类似,但time_format只处理小时、分钟和秒(其
# K& n$ ~6 [" k- u4 @: x, E! q5 p余符号产生一个null值或0)  
; j! z6 c. v& V% u4 D
+ G' N/ ~" j2 G1 v. V$ ]curdate()     
- k; h9 H# N$ dcurrent_date()  * e" c$ T$ x( X$ y9 m5 `5 f4 p9 J
 以'yyyy-mm-dd'或yyyymmdd格式返回当前日期值(根据返回值所
8 d) X1 R9 l" e. L) ]0 H0 D处上下文是字符串或数字)    - v6 Y' _1 M' v0 {& ?# g
mysql> select curdate();   
1 j6 ^% G" v4 ^/ i9 X5 |  -> '1997-12-15'   
3 R* ^& N' C, t; {mysql> select curdate() + 0;    / U8 c- b- p( L2 o7 Y/ [" g/ a
  -> 19971215   
( B$ T: Z" u' |2 Z" p3 [ 6 F# x8 T2 T2 k# Y
curtime()    ! N+ x1 j4 j8 r7 T, X
current_time()  " t4 }2 }) l  H: y2 C
 以'hh:mm:ss'或hhmmss格式返回当前时间值(根据返回值所处上( k- m; c; ?0 x+ g! v! l2 p+ g2 m- Z
下文是字符串或数字)      
6 }' \0 s) w0 A1 Smysql> select curtime();   
2 G  C& d/ o  E) a! n  [4 e0 D! n  -> '23:50:26'    1 |0 ?# R  }1 n7 b4 T' j
mysql> select curtime() + 0;    7 ~$ I, z- p4 ^3 h- \! E% y1 ^
  -> 235026   
4 V9 _$ H. x7 B" ^6 \
2 p8 v' F( y% j" O+ p$ H# ^& Know()    " h5 C! z/ K) N7 C+ b: I
sysdate()    
' f. c) l$ v( V6 f, A6 E4 kcurrent_timestamp()  
; ]) r8 i8 C9 b+ h# C 以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回当前日期
5 O! g( O" W: J$ o时间(根据返回值所处上下文是字符串或数字)     
7 v# Z( x. |1 V9 J" p) pmysql> select now();   
3 w: n* ~& ~, |- `  -> '1997-12-15 23:50:26'   
& z, U/ s" H$ m6 I* I9 g8 T; E" U2 Hmysql> select now() + 0;    ' r8 m& m  @4 k8 y" S
  -> 19971215235026    # O5 F2 }# o! A' ^, Z
3 x$ p* j' W* u& ]2 q
unix_timestamp()    ; n( [+ y! s4 g2 B
unix_timestamp(date)    7 j2 a' I6 F+ u2 h3 Z1 `
返回一个unix时间戳(从'1970-01-01 00:00:00'gmt开始的秒
% A' `, w0 @( Y9 I# D数,date默认值为当前时间)  " b3 W3 j+ h* W& l4 L
mysql> select unix_timestamp();   
6 `0 |# S. b& Y: O# K  -> 882226357    * d+ u$ m  K# P5 _- P% S. Y
mysql> select unix_timestamp('1997-10-04 22:23:00');    " O6 h1 t- z2 r9 z, Z7 H
  -> 875996580   
! e! F& Z. Y, W1 z $ g1 W( R, m# a  a7 R
from_unixtime(unix_timestamp)      m: W  n) {+ |3 F
以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回时间戳的
( h  a0 X4 Y1 g- n值(根据返回值所处上下文是字符串或数字)     
, [! T" m- h2 I1 Z# W, |" \$ @/ o' omysql> select from_unixtime(875996580);    9 @7 X/ h. L& i. }# }" ?
  -> '1997-10-04 22:23:00'   
: r  F2 s' R% Z, x/ @mysql> select from_unixtime(875996580) + 0;   
0 K1 g( Z. H4 N6 \! i. }  -> 19971004222300   
, ^7 u) _1 n( O" i
1 B# T/ ^7 Q/ s9 k" afrom_unixtime(unix_timestamp,format)    $ C  l& ?2 j2 K7 A
以format字符串格式返回时间戳的值  ( ]' n: N1 G! T- B% o# }
mysql> select from_unixtime(unix_timestamp(),'%y %d %m %
7 h6 S6 W8 ~( yh:%i:%s %x');    / s4 \" y# I7 ^) ?1 j) i9 W" U2 k. m
  -> '1997 23rd december 03:43:30 x'      \# Z9 |  b* O$ T, _$ G
  c( k) r4 \" o3 J
sec_to_time(seconds)    * K6 A8 f) z9 Z0 P/ ]9 D3 m/ f  D
以'hh:mm:ss'或hhmmss格式返回秒数转成的time值(根据返回值所处上下文是字符串或数字)     
1 G& v: n/ {; U3 Ymysql> select sec_to_time(2378);    8 N; ^2 i% E7 `' O) J+ s* I, Y  m
  -> '00:39:38'   
; y- M* i) e' L: ]mysql> select sec_to_time(2378) + 0;   
+ \# ?5 ?0 k) S) [. {" q  -> 3938   
% C* K: n3 V# H) V( e- k
/ B3 P. s9 e9 M) q+ k2 A+ T0 [time_to_sec(time)   
1 o# V9 r' t- E, ?1 ^返回time值有多少秒   
/ u6 S; C) C+ ^! j& }* bmysql> select time_to_sec('22:23:00');    & v) Y" y  s* }8 N! B# r
  -> 80580    6 k% _6 T: [5 C9 }5 F3 f1 z
mysql> select time_to_sec('00:39:38');   
& V3 U* X1 i" i2 W9 i2 Z: Q3 b  -> 2378
7 C9 L1 }6 }3 M( @, s5 B
3 |# b$ x; W' a0 i9 U6 l  s3 ?. H转换函数4 _1 R' n- j1 C: U% A. D) `
cast
7 _" D5 X* h7 x* {) t用法:cast(字段 as 数据类型) [当然是否可以成功转换,还要看数据类型强制转化时注意的问题]; a, z  F+ ?) V) P
实例:select cast(a as unsigned) as b from cardserver where order by b desc;
- C$ A. Z- w, H3 Q0 H  Oconvert:
( L7 y% e' Y! j用法:convert(字段,数据类型)
8 z0 _9 n2 p2 Z实例:select convert(a ,unsigned) as b from cardserver where order by b desc;

& X0 [, C, Z1 r- @* \4 }
回复

使用道具 举报

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

本版积分规则

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