找回密码
 立即注册
查看: 2479|回复: 0
打印 上一主题 下一主题

mysql常用函数大全

[复制链接]
跳转到指定楼层
楼主
发表于 2018-3-21 16:07:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、字符串函数9 C8 Q" j1 l* O7 M- Q9 u+ ^5 C
ascii(str)   
/ }- _% t+ I1 _( Q9 `) b返回字符串str的第一个字符的ascii值(str是空串时返回0)  ! S- c+ R% w! }# C" K, j, q* L
mysql> select ascii('2');  / o) D1 o: W0 [
  -> 50  : c. |" K3 J7 W. @& y7 \" `3 c
mysql> select ascii(2);  
* S, j( k  f( V) k  -> 50  
5 F* F' w; i2 S1 W! I3 z9 Ymysql> select ascii('dete');  
( ]  s2 f+ u4 o) Y; F+ {$ t7 Y  -> 100
2 S" m. Z0 I% n+ y# L5 p# h4 e
ord(str)   
* z  H( B) [& ~' }. b如果字符串str句首是单字节返回与ascii()函数返回的相同值。
" d5 T6 C& w  V7 A * }7 E* ]; c% c. i# q) R) P
如果是一个多字节字符,以格式返回((first byte ascii code)*256+(second byte ascii code))[*256+third byte asciicode...]  ) M- Z; t# U1 {( B
mysql> select ord('2');  1 P& x$ O- H* i
  -> 50  " o$ Q2 `3 ^* O/ D$ H+ O+ s
   
9 ]; Z1 c: s0 N8 S6 H3 pconv(n,from_base,to_base)   
& u4 s1 ]4 @" w  e: v4 g+ ^  r# G对数字n进制转换,并转换为字串返回(任何参数为null时返回null,进制范围为2-36进制,当to_base是负数时n作为有符号数否则作无符号数,conv以64位点精度工作)  
7 B$ n# [; ~; K* Imysql> select conv("a",16,2);  , I# |' E/ F1 x
  -> '1010'
5 e# V5 t( k( L1 X. Dmysql> select conv("6e",18,8);  
2 ]- T( Q' A" ^; g& Y# c  -> '172' , ]5 d/ F( C; e6 q+ J# G; d
mysql> select conv(-17,10,-18);  ) s0 M) O% A* b2 G6 E" W1 H
  -> '-h' ; I0 k5 K6 N2 a
mysql> select conv(10+"10"+'10'+0xa,10,10);  . A; E2 o! o. D( J$ d- ^
  -> '40'
/ A1 Z% a. h  t   & @  W4 w% F7 G1 p2 D5 M5 B
bin(n)   7 m9 S* k" @5 ]2 t- }
把n转为二进制值并以字串返回(n是bigint数字,等价于conv(n,10,2))  - e- }; H( x  X8 n( p; v0 {9 l
mysql> select bin(12);  
: ?9 q+ A3 b' i, N  -> '1100'
2 {3 Z  ]' V1 n2 v) H+ b 3 T% [7 M4 g6 C, [$ `
oct(n)   
) C$ |5 w, t6 I& J把n转为八进制值并以字串返回(n是bigint数字,等价于conv(n,10,8))  
2 r" z3 d7 A, D  tmysql> select oct(12);  7 v& z+ A% o, f" o
  -> '14'
7 n3 `- s) l; N) c7 U   , h8 N/ C* K5 J' Y4 \
hex(n)   
1 A2 A* g5 c0 X3 t! g3 B+ d% `  `把n转为十六进制并以字串返回(n是bigint数字,等价于conv(n,10,16))  0 x! m2 }& [* r* s3 T
mysql> select hex(255);  
% B- `6 o* ?8 J! m# W! r5 W: h( y  -> 'ff'
( e% j6 k; F1 g8 H/ c8 b   5 ?  ?2 d: b" H( D3 h# C# ^" d
char(n,...)   
3 V7 g7 Z5 C5 g$ L* _& j返回由参数n,...对应的ascii代码字符组成的一个字串(参数是n,...是数字序列,null值被跳过)   
+ w+ E' v9 U% A* z( nmysql> select char(77,121,83,81,'76');  $ Z- }5 N) A; T7 H& w4 W5 G# ?
  -> 'mysql' . e, b7 L% j9 O1 Q0 W: y) e4 w
mysql> select char(77,77.3,'77.3');  
; ~- f, Z% _, J1 Z  -> 'mmm'
7 a, k0 y6 y9 Y3 ^# ]   
$ g) b/ O' z! P- o8 p2 Sconcat(str1,str2,...)  
3 z  k1 K7 D& L/ R% M7 S把参数连成一个长字符串并返回(任何参数是null时返回null)  3 W" Q7 C4 `, \, C3 p& A6 ^
mysql> select concat('my', 's', 'ql');  ( S9 J- b; p" m/ J) P% }( i
  -> 'mysql' 7 k/ i* W  O" \9 J
mysql> select concat('my', null, 'ql');  % u- N3 c9 s' |) X+ C2 u9 ^5 P' ?: m
  -> null * [' A$ L7 ^$ E( C/ L* d
mysql> select concat(14.3);  0 @2 K7 D' X% m) |1 X, \
  -> '14.3'
9 m6 j8 i0 a3 l# c( c, t & r( U3 k6 ?* g4 K8 h; F
length(str)   & h1 S  n+ O* b# c( z; i5 M
octet_length(str)  
  y+ ?8 k- g: \: x% d- vchar_length(str)  
$ A$ m, k4 p3 L4 A* C3 `" \* B% [" K- xcharacter_length(str)  
0 ?6 w8 K+ c0 F. I1 g返回字符串str的长度(对于多字节字符char_length仅计算一次); D2 M7 l( I$ g% w
mysql> select length('text');  / o8 _: V8 K( A& G' M, P, k
  -> 4  5 ^9 F' i  V1 Y- Q) O/ f7 A
mysql> select octet_length('text');  # M8 j0 z7 X4 c. `  Q5 Q7 I
  -> 4  
6 U3 O/ j5 z4 v0 N& e! s4 V, R 3 \- f4 i' ~9 {& m2 z% q9 D) K: Y
locate(substr,str)   
- M( d4 [: B+ Qposition(substr in str)   
; e+ v* a/ ]* v( ?+ W& k- }返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)  , l: g! Z% m/ e* ]! @
mysql> select locate('bar', 'foobarbar');  
, P8 q( S- \% r$ ^  -> 4  
6 w- _+ `+ I: d+ z( @mysql> select locate('xbar', 'foobar');  
+ U! h5 j% t6 r4 c' j) _  -> 0  
9 B# z- `! H) p  r    # W: Z! M& {! o
locate(substr,str,pos) ! a, f& y- m+ o+ E5 ]! e
返回字符串substr在字符串str的第pos个位置起第一次出现的位置(str不包含substr时返回0)  + x; J: O; a. K$ Z
mysql> select locate('bar', 'foobarbar',5);  
( N0 b8 T7 {+ v% F0 S  -> 7  1 X0 W; ~3 C3 p

5 P* q3 _  q: T5 R* w  r! @instr(str,substr)  
' D8 U- m! X+ ^返回字符串substr在字符串str第一次出现的位置(str不包含substr时返回0)  4 v8 Z4 F) h! Y6 v) P. |  w0 A
mysql> select instr('foobarbar', 'bar');  
7 y/ v7 ~: ]: V3 s  -> 4  
7 b' O) R% b- g& imysql> select instr('xbar', 'foobar');  
  i4 X) W6 y: ~  -> 0   * }; N+ t) Z& q% g* ?

! W/ \% A4 e5 X  {lpad(str,len,padstr)   , p7 K% A0 Q6 u" y! c. j- t
用字符串padstr填补str左端直到字串长度为len并返回  
4 n7 C$ K" }5 P- e5 u/ Emysql> select lpad('hi',4,'??');  
7 I3 u+ `7 X2 o* ^, P  -> '??hi'
, I: I! D+ i1 Y2 E+ t; }* E   6 V0 L8 [  o+ ^# Y. b
rpad(str,len,padstr)   $ K3 y) k7 p: K6 n
用字符串padstr填补str右端直到字串长度为len并返回  
' v1 u& y- z1 N+ i* ~& bmysql> select rpad('hi',5,'?');  
7 y4 S7 p  [& O  -> 'hi???'   [* P4 K5 ]3 H3 `, w9 h
& v8 h& Q2 _+ s$ u7 N8 C* X5 C
left(str,len)   
  J6 K! X8 V, j$ y- ~返回字符串str的左端len个字符  : j1 F- c4 b& g, l- X2 j: `
mysql> select left('foobarbar', 5);  
$ {* p5 t/ m3 Y& j% r( T. H  -> 'fooba'
; \# g9 A) [+ h( h % A& _3 h9 M7 \' ^) H5 H+ Z' H
right(str,len)   
0 m. B) u0 \, O+ k3 b3 N4 o0 ?! H返回字符串str的右端len个字符   ; i8 W2 i! q3 g2 n- c+ Y
mysql> select right('foobarbar', 4);  
9 b- U$ q! q4 [' i, Q/ [  -> 'rbar'
1 H$ Y5 e& W0 L5 k 7 {  K" R" }' d! h+ @0 S# U" }* s
substring(str,pos,len)   
" K# e7 C- _) M2 H! Esubstring(str from pos for len)   6 x+ [8 g  q; s' w) j" k
mid(str,pos,len)   0 u: ]- R" }$ h: s# D
返回字符串str的位置pos起len个字符mysql> select substring('quadratically',5,6);  
* Y+ O& ?- n1 e; C( U  -> 'ratica'
! F; z! n0 Q3 \  p8 F
2 T$ I/ N/ E) Z  Q* V$ P9 dsubstring(str,pos)   
1 ]' @6 H  P7 }/ csubstring(str from pos)   & O4 l% i! ]. L" \
返回字符串str的位置pos起的一个子串  
: a. u" o3 Y$ [! v5 ]& Omysql> select substring('quadratically',5);  
. Z1 k# A2 q- Q1 Y. R; C- G  -> 'ratically'
! k( d( u2 e8 b* r9 wmysql> select substring('foobarbar' from 4);  & ^5 J% f# a. k  g
  -> 'barbar'
, Z" ^- w: b& p$ o( k
& G) J  \% [% M6 F' psubstring_index(str,delim,count)   
# g) w; A! g. S5 p. l# \& E+ o* Z  e返回从字符串str的第count个出现的分隔符delim之后的子串
# `; c  w' ^% n6 s$ T: A(count为正数时返回左端,否则返回右端子串)    A+ G4 }- G  R2 `) a
mysql> select substring_index('www.mysql.com', '.', 2);  
  M/ X( Z$ G5 ?7 t& r0 C3 R  -> 'www.mysql' ' U% h9 Y- h' o/ ]! F
mysql> select substring_index('www.mysql.com', '.', -2);  
) i% ?) P/ u9 k. G8 H) F5 w' B  -> 'mysql.com'
5 `7 Z$ ^, \2 c: M, L- x" S4 N  h
/ W: n, L6 M6 e- J( @! P6 Rltrim(str)   ) F, m1 W5 {( W$ p) y& t
返回删除了左空格的字符串str  
& }/ V1 W& }  m. |9 n6 ymysql> select ltrim('  barbar');  " [2 X- I7 R0 L6 h$ T
  -> 'barbar'
5 _* S4 u9 \6 ^' x' }3 x+ p 3 J( a9 \. E6 d1 b3 V) L# @
rtrim(str)   0 w! v4 w5 n/ H# i" r
返回删除了右空格的字符串str  
+ L( ~; [7 h, I! ~7 ~# z& a; Tmysql> select rtrim('barbar   ');  * h$ z3 T/ B5 X% o3 Q% B
  -> 'barbar'
3 ^& e# e  c! @( l' O% H 7 ~5 a+ h  d" q& u) s
trim([[both | leading | trailing] [remstr] from] str)  
( V3 `" M$ ^  ~3 k1 p1 Z返回前缀或后缀remstr被删除了的字符串str(位置参数默认both,remstr默认值为空格)  1 K) Z' Y% [+ F! e* b% U1 p
mysql> select trim('  bar   ');  , L# T" }7 I6 ?+ T: Z$ i0 S
  -> 'bar' " ]0 Z% ?( S; [7 d
mysql> select trim(leading 'x' from 'xxxbarxxx');  0 \9 x1 Y4 O" u8 M, \
  -> 'barxxx' , M* d- z( }6 J
mysql> select trim(both 'x' from 'xxxbarxxx');  7 c5 \6 `5 H) c5 n$ ~* O" k
  -> 'bar' , B% ]. E4 G( T8 P; h2 w8 m
mysql> select trim(trailing 'xyz' from 'barxxyz');  3 j" L. R: ~5 R; @( U% [
  -> 'barx'
9 l8 ?( x! B' Y% T% o7 i' f( h0 D& c ) ], [4 _* b; ^6 T7 Y
soundex(str)   2 U- u% X1 a' T) I7 B" i# P
返回str的一个同音字符串(听起来“大致相同”字符串有相同的
$ {9 P2 X( J# J  S2 e' ?同音字符串,非数字字母字符被忽略,在a-z外的字母被当作元音)  : R& T' ]- x' t+ {, i/ y
mysql> select soundex('hello');  
6 f$ s4 y6 {) Y, m( m+ J+ i' T  -> 'h400'
6 l  g0 F8 c3 g% y, Mmysql> select soundex('quadratically');  7 ^7 _* @9 u( F+ N1 L7 ?2 ~8 O
  -> 'q36324' 2 ?9 X* y$ S- @$ |7 z, l/ \% L
   ; Q7 c( Z  w7 C) ~
space(n)   / ~2 f- }5 V0 K! y/ ]2 W
返回由n个空格字符组成的一个字符串  & {+ ]5 z( t, O
mysql> select space(6);  6 c" i  t" j% A: W, P9 S5 I
  -> '      '
! p6 g5 L8 W% F" n( r% B   6 T( F( q& O: F9 E) R% l
replace(str,from_str,to_str)   ( [3 q3 W5 v* T( C( y- h
用字符串to_str替换字符串str中的子串from_str并返回  8 t3 S" _- l- \# i+ [
mysql> select replace('www.mysql.com', 'w', 'ww');  
! y$ o' N4 L9 [' G* L0 ]  -> 'wwwwww.mysql.com'
# S8 L2 A1 U2 ]4 K, H/ D/ H* L( m 2 U+ Q! D: z2 h6 m- R
repeat(str,count)   + O7 ?3 g* l" Y7 n3 G7 B# S
返回由count个字符串str连成的一个字符串(任何参数为null时6 I" b" K* z3 n2 R. N' o" j
返回null,count<=0时返回一个空字符串)  8 [& g/ w+ }( ~3 t9 \) p( K' v
mysql> select repeat('mysql', 3);  
4 `% u* q! @3 E2 m" z5 Z  -> 'mysqlmysqlmysql'
8 A2 g: W- L* Y   7 _8 M! _% G) C
reverse(str)   0 f$ ]5 Y' e6 X7 P1 {
颠倒字符串str的字符顺序并返回  8 E  P% n, \- ?* ?& n) L  t
mysql> select reverse('abc');  5 N5 j/ g7 i. G! m
  -> 'cba' * W6 R4 J) ^) x( L& n& }0 \' L
2 J( w: i7 \8 a1 ~8 ?
insert(str,pos,len,newstr)   
7 d- O8 G+ n2 S: D. ?2 |把字符串str由位置pos起len个字符长的子串替换为字符串
9 G1 p& ]  F/ x5 T! {2 anewstr并返回  
1 X0 c$ k) u7 G4 ~mysql> select insert('quadratic', 3, 4, 'what');  0 V8 j) s% U3 X! E" T5 b  R9 Z
  -> 'quwhattic' 2 k3 q" d, Y* f; o- x( ^& E
6 l0 C$ a' j1 X
elt(n,str1,str2,str3,...)   1 l, J, P6 \3 s! b4 o/ [. E  R
返回第n个字符串(n小于1或大于参数个数返回null)  7 `% `: ?0 T3 ]7 o/ J
mysql> select elt(1, 'ej', 'heja', 'hej', 'foo');  " U$ Y! T' e) D9 M$ ]; m
  -> 'ej' 4 L& N; l( z- K/ p* D
mysql> select elt(4, 'ej', 'heja', 'hej', 'foo');  ' ]5 N4 w; K8 Z/ }! g& y$ z3 E
  -> 'foo'
; U, x* ]4 d9 I6 P/ s7 n: ?
% G; _% }: y+ D, d0 z: s7 Ofield(str,str1,str2,str3,...)   . a% Q$ Y. y5 Z; h% x
返回str等于其后的第n个字符串的序号(如果str没找到返回0)  
9 [" U3 L4 z% B5 C: G( Imysql> select field('ej', 'hej', 'ej', 'heja', 'hej',& ^4 y  A# f% B' m( h: c0 Q
'foo');  
/ s. ~/ Z  z, i0 j  -> 2  
3 a' W, }3 ^9 i1 ]/ L4 bmysql> select field('fo', 'hej', 'ej', 'heja', 'hej',, C+ }* O, U( V3 D
'foo');  . G3 W% M. w% ?/ {/ d# L
  -> 0  
- J* f. t0 g. G; d* Y2 K" \2 ^
+ F, O" j! \# }. F4 Pfind_in_set(str,strlist)   - s3 c- b0 d/ f. w! x! Q9 C6 d
返回str在字符串集strlist中的序号(任何参数是null则返回
# L! Z- X6 F. Anull,如果str没找到返回0,参数1包含","时工作异常)  7 h6 T" l3 C- G' U7 s: k8 Q% B( w$ i
mysql> select find_in_set('b','a,b,c,d');  8 g* b% [, s) d/ X1 N
  -> 2  * U; J% U# q& l, {+ u
   
; L& ?8 b1 A$ H, K) U# `: ~3 J* ^/ ~  Nmake_set(bits,str1,str2,...)  . Y  o3 z6 d- q2 A5 C
把参数1的数字转为二进制,假如某个位置的二进制位等于1,对应7 u- v5 {( n) K8 w) p- @/ R
位置的字串选入字串集并返回(null串不添加到结果中)  ) F8 [) C( B: F
mysql> select make_set(1,'a','b','c');  
4 c: R/ t) m* i9 y" b  -> 'a' , _' n( M' J/ H& I1 {
mysql> select make_set(1 | 4,'hello','nice','world');  
# }4 \" i& z( Z/ e; d9 Q  p. n/ Z  -> 'hello,world' 1 V0 `: L6 G; i, c5 S# s
mysql> select make_set(0,'a','b','c');  4 Q* F, k: v% U/ z) x2 U# e% E
  -> '' 6 j- @* s0 x1 ]- A

1 i! c8 C& W/ ?" t: l8 Texport_set(bits,on,off,[separator,[number_of_bits]])   ; q4 _4 J& Z# X" {% R
按bits排列字符串集,只有当位等于1时插入字串on,否则插入
; W) r2 I6 O; a4 J4 Noff(separator默认值",",number_of_bits参数使用时长度不足补0; w1 R8 P: z+ [4 u# N2 d+ o' M5 n
而过长截断)   
# {) \& b. U& M$ M  emysql> select export_set(5,'y','n',',',4)  
& Y3 r8 q5 ~! ]* C9 l1 y  -> y,n,y,n   ! \' h' K4 l: x* S2 k& x  L" a

* W2 x# |! @' U1 c" olcase(str)  
! e# N: n  @5 |; Qlower(str)   
& Q  m! [3 w% U. _) R5 V# ?返回小写的字符串str  
$ ~4 ^1 `% [: ^: o% L6 C' ]mysql> select lcase('quadratically');  4 S. h4 G9 T9 o7 V# B4 S  v* D
  -> 'quadratically'
' L, O0 F% q) R. m9 k  _   7 [9 }9 Q! Y$ r  J* R: R
ucase(str)   5 B/ ?9 r- m+ F: _- a6 S
upper(str)  
6 x6 J" d$ z% q返回大写的字符串str  ' P* T6 }0 @' j( \& N: r
mysql> select ucase('quadratically');  2 N$ q" D: d. R" _+ B' k
  -> 'quadratically' / ~) {9 y2 }5 t9 Y% ~3 G0 \

( o9 o1 B+ L% T  pload_file(file_name)   0 ~/ r; N4 B1 w2 z( o8 b/ i
读入文件并且作为一个字符串返回文件内容(文件无法找到,路径  o9 w8 B/ D6 U
不完整,没有权限,长度大于max_allowed_packet会返回null)  
! a" A  L  `4 O% e, C6 Cmysql> update table_name set blob_column=load_file
& n7 s( k5 ?7 o" O  E9 z2 M("/tmp/picture") where id=1;    j" m; C2 }' [! R
: N  @+ j  @# e% w- h2 Z' K% t
2、数学函数0 d$ O# k' l; @
abs(n) . k% S; `5 [, l9 M" v
返回n的绝对值  
: @0 P; }1 U6 imysql> select abs(2);   
7 s5 G) R+ }9 [. X' A4 c  -> 2    9 u$ P+ c5 h) P! X1 n
mysql> select abs(-32);   
5 \- x! d- X. y7 B5 R! C  -> 32   
. {% @6 B: t; x  @: l   
6 f1 n# }3 ?7 E# r+ h* ~+ k1 Osign(n)  
6 f" i7 H/ ?0 W' Y  Q8 ?1 }8 T6 j返回参数的符号(为-1、0或1)  
$ X( g& K' E1 T' N% r' Lmysql> select sign(-32);   
) v6 j4 v3 R5 _  o+ q  -> -1   
' M* M$ b* O. A9 k# Fmysql> select sign(0);    % `. Z: h0 T2 h7 |8 R" Z
  -> 0   
" E& Y% X* u) I3 `% ~  e; Fmysql> select sign(234);   
0 F4 \+ D1 ]" w* P, B/ P; j  -> 1    ) P& |! a9 R! m( {8 R2 n  w

2 E0 j1 a8 N/ i$ [mod(n,m)    ) Y: z! X) m6 b$ G# z
取模运算,返回n被m除的余数(同%操作符)    ' l- x4 g4 w- {5 x3 z: K- e( ]
mysql> select mod(234, 10);    . s$ {/ m, \% Y) F# C1 i
  -> 4    " D5 o( |! H& h5 w! g/ Y/ l
mysql> select 234 % 10;   
! \  d) ~0 R" g8 m1 j$ j# U  -> 4    0 T; L9 e7 d' e9 a$ z
mysql> select mod(29,9);    * }" m8 H" k/ U" c# M/ L& @
  -> 2    . H3 N* J+ O3 @/ b

2 @0 R9 v7 u/ T+ Jfloor(n)  - }: A4 }, u- {$ o9 V7 [
返回不大于n的最大整数值  
, x; w$ q6 ]9 d/ Mmysql> select floor(1.23);    % v5 w" F8 K* j- S8 |. ]
  -> 1    - j8 L. x' E% ^! x4 C9 P
mysql> select floor(-1.23);    8 }) y0 K, C0 a+ Z
  -> -2    7 W6 k3 ^" e: ]  \7 u
, z# x* X$ }7 G. V; t
ceiling(n)  
1 {  s9 B! a9 U; s) f, _/ L返回不小于n的最小整数值  
- D1 W+ Z& l! d$ G" c  vmysql> select ceiling(1.23);   
' V: j- z8 U0 P8 E% b  -> 2   
6 O/ L; }6 B, o7 }6 s. Q- Dmysql> select ceiling(-1.23);   
  q, t* Z5 S- l& x  -> -1   
- a1 s2 n! c/ I4 f! Z / g' ?; V0 H; o, i
round(n,d)  1 Z% D0 T! }8 \3 [% q1 p3 B4 t
返回n的四舍五入值,保留d位小数(d的默认值为0)  
1 Z6 F  W" A4 q) M, _1 Z" Fmysql> select round(-1.23);   
; |! [$ H9 P' G$ z& p  w  -> -1   
4 f8 D1 k) S. A9 d" Imysql> select round(-1.58);    . T9 a5 L+ m* T: U  Q# j* n4 v
  -> -2   
8 o( E+ ?) B+ p: B$ y# v5 ?mysql> select round(1.58);   
& X- A( W- I( P8 [6 w& X% L7 u8 O, K  -> 2   
! p7 m1 Q$ P7 e5 M: b3 cmysql> select round(1.298, 1);   
1 d- O9 y2 g( n8 T8 k; X  -> 1.3   
# s7 ~; s  U, J! \* p% V9 Lmysql> select round(1.298, 0);   
: |( Z, H& \" `6 I  -> 1      N" v: c+ @# h8 M1 R7 `  ?" D+ r
- ]8 w9 P3 {4 @/ {4 U7 _
exp(n)  
! s" y7 ^( i: \8 j# I返回值e的n次方(自然对数的底)  
; G' F' N; p7 {; |; Lmysql> select exp(2);   
* ^5 J' X1 W" U- u8 M& ?  -> 7.389056      u) Y; ]+ C+ i1 v2 u8 l
mysql> select exp(-2);    2 F8 D' H2 S$ z3 `, r  k
  -> 0.135335   
; Z6 r9 o! M# T , M+ Z0 Q6 Z9 E: x0 I
log(n)  ' Q8 Z4 `" D8 w) d3 q$ j% n
返回n的自然对数  4 c  ~" I. z# C0 x$ n4 _
mysql> select log(2);   
3 z0 C5 c" _3 p+ D  -> 0.693147    1 Z5 h5 o5 q' Z  x' O* H, G5 [
mysql> select log(-2);   
4 E; |- c  R2 p: R8 T: F9 m  -> null   
0 {- j* y( r4 R* C# w4 A
* a& V1 C/ S! ]5 o; Olog10(n)  9 ~2 S7 o, J$ H
返回n以10为底的对数  
$ y) p1 U: G- e9 v5 [mysql> select log10(2);    $ q+ c) G- K7 z: g6 j
  -> 0.301030    ( f8 s# @' F, _2 t
mysql> select log10(100);   
# g) ]: |$ v- E. a6 l  -> 2.000000   
7 G5 y4 ^: |4 }% Q, q: j! xmysql> select log10(-100);    + A; g# P- q2 N. t$ H  O
  -> null   
$ C4 E0 k: B# B2 Q5 C1 T ) {7 x7 n' q& E8 }  h6 q! v
pow(x,y)   
& _- A4 e0 {( I1 p% p8 D4 M7 o1 Apower(x,y)    & g; k9 I: R! a2 t
 返回值x的y次幂  
/ B) b0 O  b: a+ ?( ?mysql> select pow(2,2);    , A( _2 K; L* ?3 f' q! c3 D: u2 E9 M
  -> 4.000000    ( V: L/ b# J" p3 D$ M$ `2 C
mysql> select pow(2,-2);   
% z8 a6 J+ R1 I  -> 0.250000  , v3 v8 P% K6 [* }- j+ _6 u

8 I4 B. D. a# O) csqrt(n)  
. D- h1 N6 q' w$ P- S 返回非负数n的平方根  
3 ?+ g* T8 Q) b+ x6 ]5 Amysql> select sqrt(4);   
) G( O7 p3 J' y# _6 W) _, t  -> 2.000000   
7 U+ ~" C  a9 \1 l6 umysql> select sqrt(20);    1 [9 \, g' o. W! C
  -> 4.472136   
+ F* j. q, {6 q8 a2 l8 O
8 p1 b) |( z+ spi()   
& d) y0 l: J: c2 ]& B& ~  m9 c& ~ 返回圆周率   . y4 [2 L; y1 q7 _. _
mysql> select pi();   
) T, ?  |, d6 `- Y/ j6 L  -> 3.141593   
! U5 p) N, }- j8 h# P7 C& U
; Z' E' p+ D- k; J9 u: t; F. P8 }cos(n)  
" }$ `$ j" }0 w# \ 返回n的余弦值  
6 f4 J1 Y- z" d" _2 m% ymysql> select cos(pi());  / n1 @. G) f+ M$ T2 s
  -> -1.000000    ' R# C7 p3 x4 b6 M8 p

- \- ]3 ^3 U7 n9 S, h8 wsin(n)  ' }" b. C' n  ]6 W  ?
 返回n的正弦值   
) C* O' [. a  ]- N& qmysql> select sin(pi());    2 T; u" M- {; k
  -> 0.000000    ! P8 j+ j4 U4 Z; w4 x

) K6 X6 H6 x# Rtan(n)  # m; X7 m" m, \! E* e* z
返回n的正切值  
. e5 m2 ]* O/ Ymysql> select tan(pi()+1);    # m* E( f( O9 x5 v0 v' A* x
  -> 1.557408   
  B3 b1 V" Q1 c3 f( P+ f$ g ' g; W0 r6 z! ~# G; K
acos(n)  
% i1 C6 A( F, \0 z) O( j 返回n反余弦(n是余弦值,在-1到1的范围,否则返回null)  ) {+ U( Y' p" h- _
mysql> select acos(1);    ' `% \1 O4 ~+ D% W8 e! F
  -> 0.000000    % R% l8 K- z8 R# T3 U. s
mysql> select acos(1.0001);    + C: h; l0 ]/ w9 j2 T
  -> null    * H, n7 o. _( ]6 I; ^0 S
mysql> select acos(0);   
- v0 ~7 `% \2 ?0 _  -> 1.570796    : f" k1 i& G6 Y
. u6 _4 B' ?. a- }
asin(n)  
+ `+ \6 d4 \+ F/ \7 r返回n反正弦值  
8 n% ]$ J: v5 Hmysql> select asin(0.2);    # M6 J' N" X0 K9 g# ?9 }
  -> 0.201358    $ I8 }3 d! H! z( v
mysql> select asin('foo');   
/ e4 y4 u: n2 H' F& ?5 I  -> 0.000000    7 d2 d/ e3 C4 ?, `

$ ?: M& o+ V% s3 Latan(n)  
) k" `1 V( W( G( |0 Y返回n的反正切值  1 S% B$ t/ s- {8 r) O  f! L
mysql> select atan(2);   
" s+ f+ j! R% P9 u  -> 1.107149   
$ R5 A- s# z9 R: M$ {4 Bmysql> select atan(-2);    - g; E( q0 d% w, e  |- b- I( I
  -> -1.107149    4 [) T9 ]4 F" Y0 i
atan2(x,y)    ( Q/ J- ^. Y! H! V7 j# o
 返回2个变量x和y的反正切(类似y/x的反正切,符号决定象限)  . b& \8 Y. w" q* h) @" x9 [
mysql> select atan(-2,2);    3 y$ @7 T  @; n2 X5 H3 ^+ L
  -> -0.785398   
' U. G: m  Y# @8 J; {mysql> select atan(pi(),0);   
3 W+ Q3 G  F- o% s* b& R% _( F  -> 1.570796    * A6 U& q$ {$ @$ k6 i2 S$ `. S! j
% [/ g* n5 F) I
cot(n)  * ]& r# v, \3 a) t% p  _( N) X
返回x的余切  " |2 G5 Q) B- W  x
mysql> select cot(12);    1 y8 z& K5 L: i
  -> -1.57267341   
# ^5 H' m% e* `" W$ P7 c" Emysql> select cot(0);   
. g$ O; i3 h7 E6 \  -> null   
5 \1 z' a* g, U3 l( X) M & z; B, l1 [5 v
rand()  ( p  b( R+ e0 N1 t/ p4 E; p
rand(n)    
; A6 o) n% m/ B! x2 X. F返回在范围0到1.0内的随机浮点值(可以使用数字n作为初始值)
$ A1 `3 G% y. _3 j / @: j2 g6 W: d8 ~; c3 ]6 _
mysql> select rand();    / Q  Q: O" t9 c0 F# ?7 U: }
  -> 0.5925    * v* z5 S' F: `5 i# q
mysql> select rand(20);    $ Z5 K, N! q" M; k
  -> 0.1811   
% a" m  b3 s3 N1 |- j  bmysql> select rand(20);    0 o  t4 C% X: n7 J4 k! k
  -> 0.1811   
3 S$ r8 m1 o6 G: b& w+ A/ Omysql> select rand();    5 m7 @/ w( h$ s7 j; x, M
  -> 0.2079   
6 e4 p, v. y. q4 c: y6 [) l. _4 Lmysql> select rand();    " l1 }. d! J  Q, l
  -> 0.7888    ; z" X& C# `+ U

- [9 _, O: i2 X( z! }; H/ |+ ]degrees(n)  $ a0 R9 H% o! k
把n从弧度变换为角度并返回  8 W" g' T2 O" [
mysql> select degrees(pi());    7 k! |  B' t/ B- \
  -> 180.000000    ) P. ^* \  Y( Q

+ i8 s# L, Y! o* Aradians(n) , X# @/ _6 V( ~1 e" l5 w; \
把n从角度变换为弧度并返回   
* ~1 {3 ~4 j" p/ w. Omysql> select radians(90);   
* Z( b5 p! ^( [% T" x6 @  -> 1.570796   
" c1 f1 w+ v! ^  p* m  ^) J6 m- q- B# y/ m* R3 y8 p
truncate(n,d)    + I: T5 }& S- w$ c4 Y1 {
保留数字n的d位小数并返回  
) q9 {! w6 c- r& u- F! s7 z( j: wmysql> select truncate(1.223,1);    6 M/ n2 L9 i$ X. a: C& B
  -> 1.2   
! M0 M- O0 s/ H5 Bmysql> select truncate(1.999,1);   
" n, W: m+ E( N  -> 1.9   
' N8 ]/ L! r, l* E" r- J. p7 [mysql> select truncate(1.999,0);    % U0 W1 j4 {' I/ H; }+ b
  -> 1   
# x5 {( u( a! p" J+ \. T) _$ b
8 F3 x$ P/ @, E0 n) v# H8 Y) j2 _least(x,y,...)   
/ ~" ?2 r3 R6 p返回最小值(如果返回值被用在整数(实数或大小敏感字串)上下文或所有参数都是整数(实数或大小敏感字串)则他们作为整数(实数或大小敏感字串)比较,否则按忽略大小写的字符串被比较)  
* w7 s4 D& }- u$ }1 P* a5 Pmysql> select least(2,0);    : @* W) ~3 }( |+ {$ k
  -> 0   
. O5 [4 q% x$ ]4 J% F& `/ Lmysql> select least(34.0,3.0,5.0,767.0);    8 o4 Y3 Y) q7 l( R* Y! Z9 H
  -> 3.0    # G/ q, l& b3 Z7 }7 F- S: b
mysql> select least("b","a","c");   
$ f3 y1 K/ l1 Q! h3 B, U6 ?7 @" f  -> "a"   
# D) {6 S+ b" f2 b+ B+ c
: r+ }% T/ q/ }6 Z' z! _% Agreatest(x,y,...)    ; {. d5 ?; U' T
返回最大值(其余同least())  
  S: a# D( i* C3 i4 x2 Y) \' Gmysql> select greatest(2,0);   
( T1 y: s# k9 K. x$ t5 m+ U  -> 2    5 K$ C5 u4 S: |7 t+ J; @2 K
mysql> select greatest(34.0,3.0,5.0,767.0);    & j. H; s' E% P8 v
  -> 767.0    % _8 C  `4 ?/ ?" m4 O5 m( ^& U
mysql> select greatest("b","a","c");   
6 F% V' ]  W! ^9 W6 y7 S' x  -> "c"     
9 u5 _' \) W5 ~( f$ D( B6 L! P3 ?& `; @7 X
3、时期时间函数
  B- Y2 `4 p3 o, S  d( ]$ odayofweek(date)    # o8 O* p6 A8 Y& m' ~0 c# X2 I7 }; N( ~
返回日期date是星期几(1=星期天,2=星期一,……7=星期六,odbc标准)  
$ V$ }& K+ e; bmysql> select dayofweek('1998-02-03');    9 e0 v* r) O. Q5 n
  -> 3    % c% P& F8 O4 l$ d2 T- u3 e

! z# `: s# z; g; J5 E. u  Q( Q' pweekday(date)   
- T- D2 V4 O! H返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。
4 P) e5 r/ z% z( M+ `, V+ f8 {  ' D5 h! d5 `  C) d
mysql> select weekday('1997-10-04 22:23:00');      ^5 h! x/ h9 \, j: M
  -> 5   
7 z5 i8 [4 X9 O0 F8 s1 k; z0 kmysql> select weekday('1997-11-05');   
5 A% T+ V# {! d+ U9 p) L  -> 2   
8 L# H. q1 \6 [; c7 p! f4 ~ + O0 T  v4 _6 P
dayofmonth(date)    6 U' G; v+ @5 D' Y. B- w
返回date是一月中的第几日(在1到31范围内)   
: ~. }0 Y( @6 q, Mmysql> select dayofmonth('1998-02-03');    2 R# W7 p6 u1 b# p( ^
  -> 3   
  D4 G/ Y1 S& n# q  y3 B 6 T. ?% @. w* D# [, m% l0 e2 |
dayofyear(date)    8 q4 n5 @  y0 t
返回date是一年中的第几日(在1到366范围内)    + m+ [' q" z: c& Q8 C
mysql> select dayofyear('1998-02-03');   
1 x- T* Q% r) z- \  -> 34   
9 q! w& d, l' d" Q. U
% B: G5 B3 _, R" l/ smonth(date)    : J/ f9 |# q! U' D$ M
返回date中的月份数值    9 K- E4 F' i4 W) M2 l
mysql> select month('1998-02-03');   
# y6 B' I# H& u4 \- D- w  -> 2   
4 E$ N4 U' k5 `' R, l
; u' E  ^3 a% Idayname(date)   
- a; z/ K! x& L7 U返回date是星期几(按英文名返回)  8 t" n# W) p: x; F
mysql> select dayname("1998-02-05");   
6 {- `% G; y3 N! `, d  -> 'thursday'    0 J: g! S* y& B1 \
8 U, K) z2 b' p2 L# V6 O
monthname(date)    2 Y) x' J8 F" H5 i
返回date是几月(按英文名返回)  
% }% E8 M, C% b3 Vmysql> select monthname("1998-02-05");    , S5 u8 ^7 k! E6 O5 x
  -> 'february'    * \, r: o$ B1 q; Q! N# J3 W5 c8 K

; s/ @! o( ~4 L( _% @quarter(date)    . ~, F# _( T2 T% h9 y  Z
返回date是一年的第几个季度   
5 g* K$ U% a! E. Vmysql> select quarter('98-04-01');    . V' i, X" t2 f9 _! A( v. Y
  -> 2    ) w, w' i. V* w1 u$ S0 w
( q. C) J8 ^) @. t
week(date,first)   2 n5 P( r& U. y
返回date是一年的第几周(first默认值0,first取值1表示周一是3 g- N8 K2 k. [; ^) V( r
周的开始,0从周日开始)  
0 s; B% o4 A9 K' @mysql> select week('1998-02-20');    % P- Q: @5 T4 k8 F6 K/ p' K& f
  -> 7   
9 ^5 z- U% q; K$ zmysql> select week('1998-02-20',0);    0 H; A. @$ t# l2 z
  -> 7   
0 A/ @7 E& I  d' X# R* Smysql> select week('1998-02-20',1);   
- G8 B$ m  `' f2 O) \  -> 8   
8 b/ M) g  J! o9 W ) J) x0 y6 `1 u5 h8 F* v7 i! `
year(date)    7 G# ~; U3 f, b# A3 w; o, W
返回date的年份(范围在1000到9999)   
2 g- v  [) P4 z* ymysql> select year('98-02-03');    9 }9 f. v  ?2 W7 C: w0 F
  -> 1998   
6 `0 g: n4 ^$ I
4 Q5 b5 }2 L8 q6 r. j: f+ g5 A0 ehour(time)    
6 l; W" l. Z5 v2 C8 @! L返回time的小时数(范围是0到23)   
& P% O2 b. ]( y. {* a) [) `4 Zmysql> select hour('10:05:03');    . ?2 `( y4 h( q: s
  -> 10    1 c& E4 G3 D5 L$ U" q
7 x& h; t" P' F6 y$ N& b) }; J
minute(time)    6 o. B3 z5 J$ P: h; L/ g' o
返回time的分钟数(范围是0到59)    4 ^* K8 K# F# p* h
mysql> select minute('98-02-03 10:05:03');    * R3 Q2 _8 A8 Q" d
  -> 5   
  w) F) @% F0 Q: a % `- F- b7 Y- _8 Z- Z2 a, \7 E
second(time)    
3 [5 G$ C# S- Z7 m  e返回time的秒数(范围是0到59)   4 I5 f* c2 m7 |# F* d# z6 K
mysql> select second('10:05:03');    8 Y  f" X& M$ f- Z8 l3 b2 k
  -> 3   
3 Z+ i* `2 D) O) [, q ; ~9 b& A( A8 w# P2 e
period_add(p,n)    / \/ K8 d1 b8 }+ _# s3 V& X& D! d* I
增加n个月到时期p并返回(p的格式yymm或yyyymm)    9 [5 F. d7 o& s5 [3 V$ m
mysql> select period_add(9801,2);   
$ y0 Q6 D. _( w; X) a; H  -> 199803    7 G3 Z, }! K8 l  q" L
. A1 G4 R2 H- I1 u! @
period_diff(p1,p2)   
$ V: F8 S; J# o4 e" U返回在时期p1和p2之间月数(p1和p2的格式yymm或yyyymm)  
$ F) P9 @  Y0 g) q! n$ `mysql> select period_diff(9802,199703);   
3 H2 C: \. g; z5 z3 j5 v8 R  -> 11   
6 w* L% W; g" G: [/ z
5 A% t! B. I9 j  ?' g% t4 U; E/ ndate_add(date,interval expr type)  
7 }" E% q1 {% p2 ?; Qdate_sub(date,interval expr type)    3 ~- W3 A9 E, X! r8 B0 H
adddate(date,interval expr type)   
7 D% Z1 |% w: }0 B7 A: gsubdate(date,interval expr type)  
" b; }# i  k" @( I* }. H2 F对日期时间进行加减法运算  ( Y$ c  n7 f* s, b* U
(adddate()和subdate()是date_add()和date_sub()的同义词,也" v9 W) M  Q0 ?& f" `, O
可以用运算符+和-而不是函数  % B- M0 L1 g* u* _- n
date是一个datetime或date值,expr对date进行加减法的一个表$ v9 q8 u# F5 V
达式字符串type指明表达式expr应该如何被解释  - Y6 E1 {( l5 `) x7 F" `7 b% r, G
 [type值 含义 期望的expr格式]:  5 l% u" F! @0 ~8 t# o& O  a/ s
 second 秒 seconds    + e6 b' Y+ q; S( T% O% s) V
 minute 分钟 minutes   
! h- Y) A4 u/ c' S) U8 m hour 时间 hours   
" m: b: y' y" C3 q day 天 days    2 X9 w* a' B" y" \% ^  v
 month 月 months    4 T& u7 |$ L: c1 d
 year 年 years   
7 P/ d; r7 h, Q; ]+ y$ o minute_second 分钟和秒 "minutes:seconds"   
) H7 t+ q3 K) x4 ? hour_minute 小时和分钟 "hours:minutes"   
, Y3 W+ |% ^: d8 G7 T, F day_hour 天和小时 "days hours"   
. K2 k* n; Z( M- A year_month 年和月 "years-months"    ! _9 j/ F8 Y* n+ \
 hour_second 小时, 分钟, "hours:minutes:seconds"   
5 z2 x* @2 E9 h9 q4 n* v- G  v" S day_minute 天, 小时, 分钟 "days hours:minutes"   
( }' r! [" m$ R3 V1 J6 X day_second 天, 小时, 分钟, 秒 "days
9 Q. R$ Z% I4 K9 vhours:minutes:seconds" + R0 J  |# N: m0 c, ?, o& _
 expr中允许任何标点做分隔符,如果所有是date值时结果是一个
* @& Q& B( h$ l# @1 ~date值,否则结果是一个datetime值)  
( e6 C9 B& b0 P' K8 _. v1 V 如果type关键词不完整,则mysql从右端取值,day_second因为缺5 z3 s& o2 d# ?
少小时分钟等于minute_second)  
# c+ C4 a3 X8 {% @8 r 如果增加month、year_month或year,天数大于结果月份的最大天
+ H6 h% l" p& R2 z数则使用最大天数)    ( x  S- p( |% Q% `
mysql> select "1997-12-31 23:59:59" + interval 1 second;  / z+ B  [! S# F/ q$ h2 d' I

: Q" M8 J: \$ S/ J+ O, D9 m  -> 1998-01-01 00:00:00   
! N! A2 ]5 D6 L/ F# `" U% \mysql> select interval 1 day + "1997-12-31";    6 b! O% M3 E& G+ k3 n: p4 L
  -> 1998-01-01    ! g: K2 F$ M* W0 {+ U1 F' y
mysql> select "1998-01-01" - interval 1 second;    0 t/ ~6 @$ T5 p4 \
  -> 1997-12-31 23:59:59    " s" t8 Z5 D$ j1 g/ i8 l2 o
mysql> select date_add("1997-12-31 23:59:59",interval 1
7 n; K2 C; e& z/ J- B2 D* X% V3 C: U3 Ssecond);   
& x+ v: E3 ~0 ]( Y  -> 1998-01-01 00:00:00    * Z& k, U6 n- X. N% B* _8 W
mysql> select date_add("1997-12-31 23:59:59",interval 1
; Z6 Z4 ^5 ^. O% fday);    5 u; U# T/ F, z) [% e9 |5 y2 ]
  -> 1998-01-01 23:59:59    , @4 B9 U) ]+ X, N! L' g+ L4 j( \
mysql> select date_add("1997-12-31 23:59:59",interval- Y6 G$ z1 c9 t4 i5 Q5 o  R  q
"1:1" minute_second);   
5 ]0 B8 u5 I; E- e" D2 w1 o( i  -> 1998-01-01 00:01:00   
9 S% G' J2 r6 m" k- @mysql> select date_sub("1998-01-01 00:00:00",interval "1
7 s, Z2 P7 L$ r: X  q1:1:1" day_second);   
6 [4 I4 \' ]5 i2 {+ P: B, t  -> 1997-12-30 22:58:59   
! M. v+ C, x- h- S7 Ymysql> select date_add("1998-01-01 00:00:00", interval "-1" p2 q) M  O. k* w/ r( V" e
10" day_hour);  $ W6 I9 T) N- U  O
  -> 1997-12-30 14:00:00   
. x0 t$ X3 _9 [# E( n/ vmysql> select date_sub("1998-01-02", interval 31 day);   
% A" ~( A. A; U$ p0 t  -> 1997-12-02   
% {! Y' i0 n& F* u; r6 qmysql> select extract(year from "1999-07-02");   
* d& V  ]: B+ \9 d7 {' B8 E3 f  -> 1999   
. J; g6 r$ {2 z0 M' w3 D* Nmysql> select extract(year_month from "1999-07-022 @0 Q7 q/ P! N% w4 y9 L
01:02:03");   
5 O8 W( k* F) p  -> 199907    9 E4 `2 |) b1 a+ w' ]' ?
mysql> select extract(day_minute from "1999-07-02
7 B  _3 m6 p# {( h01:02:03");    0 v2 W0 ?6 m+ f. E! q0 v1 P
  -> 20102    ( x& j  g9 F4 ?: {
6 K6 O" i! J- X
to_days(date)   
: H# _' C' k! D9 X# b返回日期date是西元0年至今多少天(不计算1582年以前)  6 f: B/ r$ m2 N+ a1 o
mysql> select to_days(950501);    7 H0 A3 T& j4 p# R) |% {' c
  -> 728779   
8 f; X  y; V3 a7 b! d3 {3 A- umysql> select to_days('1997-10-07');   
5 m$ C' E% B' \$ M" N  -> 729669   
+ D. w) Y, l3 j) @* I7 w  A" y ( h% k2 D5 ?" _8 f
from_days(n)   
' a7 i  o! d- Y+ k" d 给出西元0年至今多少天返回date值(不计算1582年以前)   
/ A' |  x! b# a0 _) }mysql> select from_days(729669);    + N4 l% {7 [4 J! O5 {- h
  -> '1997-10-07'   
9 g( |! I7 h3 `8 }' V! _
1 m& r$ e0 Y3 U6 C3 q! Xdate_format(date,format)   
6 A/ `$ U/ b( |: y# q& e9 j3 p 根据format字符串格式化date值  
. N9 q- y: i) F* ` (在format字符串中可用标志符:  , O7 g, Y& z  c* ~
 %m 月名字(january……december)    1 p4 f9 r9 W' M$ `" p7 d
 %w 星期名字(sunday……saturday)    , }% l( B( h! H* h) ~$ Z
 %d 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)   
# u- E! o& C3 z8 f; q3 M %y 年, 数字, 4 位    - A) n6 X4 B/ K6 [( l( M) Y9 y/ t
 %y 年, 数字, 2 位    ( Z5 `7 v2 m% \: i  n( T
 %a 缩写的星期名字(sun……sat)   
6 S# R* b" D6 R7 n+ P8 a+ _ %d 月份中的天数, 数字(00……31)    6 |6 Z% o: }/ K& m2 n
 %e 月份中的天数, 数字(0……31)    - V5 o  a$ d# R
 %m 月, 数字(01……12)    0 S3 z; A2 \9 F; q
 %c 月, 数字(1……12)    / O9 j( C( w& W; q  |5 {
 %b 缩写的月份名字(jan……dec)   
$ F3 i. X2 @- U %j 一年中的天数(001……366)   
& I$ n: ^+ M# T7 |! f& i; ]4 `( x% {4 v %h 小时(00……23)   
2 A& N# R7 T/ o9 g0 W %k 小时(0……23)    4 O8 A/ Y3 ~- v7 i) B, C
 %h 小时(01……12)   
; N$ r! G1 e3 z$ O7 t9 r  F! c %i 小时(01……12)   
# v$ Y, K1 g- c %l 小时(1……12)   
; W5 R( y8 q$ w; a" W6 g %i 分钟, 数字(00……59)   
# F: ~- S( }2 ^ %r 时间,12 小时(hh:mm:ss [ap]m)   
' R5 A3 o3 P' m' S* c8 j %t 时间,24 小时(hh:mm:ss)      I. ^/ ]* c% w: F1 F8 C) I( ~
 %s 秒(00……59)   
7 {) X4 ~$ W( G+ c %s 秒(00……59)   
# Q% |6 a# V" A1 d; ]4 ?& h& u* } %p am或pm    ) ^* G! f% R; K1 N( F9 p& P0 c
 %w 一个星期中的天数(0=sunday ……6=saturday )   
1 {" h: m. d' Q( Q/ G& _ %u 星期(0……52), 这里星期天是星期的第一天   
6 e; H( p) @* p" M %u 星期(0……52), 这里星期一是星期的第一天    ' ]7 ]; d* j" q3 R7 O5 F
 %% 字符% )  8 f$ V; A" U, v2 k+ h& y* s4 \$ N
mysql> select date_format('1997-10-04 22:23:00','%w %m %9 [: S* j* o2 E- w: w5 _8 x# {
y');   
# T5 ~' W/ A8 L5 _& _  -> 'saturday october 1997'    5 C8 [0 F% u( T/ ~5 {
mysql> select date_format('1997-10-04 22:23:00','%h:%i:%
5 [# z2 q' z9 {6 N1 ds');   
; a3 ?) _; U/ H' u  -> '22:23:00'    0 v" c: f( Z+ N( [
mysql> select date_format('1997-10-04 22:23:00','%d %y %a5 B( o- E  h7 R, y$ @5 C8 M: G
%d %m %b %j');    ! r% \3 n' R5 E( Q  C$ Z0 q
  -> '4th 97 sat 04 10 oct 277'   
0 u$ W! V& D! P2 R' ?7 }mysql> select date_format('1997-10-04 22:23:00','%h %k %i
6 p1 {/ j0 Z( m%r %t %s %w');   
! U% F1 Q' E+ M$ D6 r  -> '22 22 10 10:23:00 pm 22:23:00 00 6'   
: |" r; d( l: M: t0 D 6 r4 w8 Q( D9 A
time_format(time,format)  0 t# n- s! L( K% O
 和date_format()类似,但time_format只处理小时、分钟和秒(其6 p- z7 w! s5 X0 Y
余符号产生一个null值或0)  
4 X* B1 ?/ z7 s3 l2 h$ s
; u3 A1 N) o7 E; [curdate()     1 I$ J) _( Z4 I% ^( j
current_date()  0 G6 r( e- Q1 Y# |3 q" C  X6 {
 以'yyyy-mm-dd'或yyyymmdd格式返回当前日期值(根据返回值所8 e, x5 I4 M+ }) c1 X7 h" T1 H/ M3 k
处上下文是字符串或数字)   
) s3 |1 o3 j6 D. L# imysql> select curdate();   
, r1 H( H( P* B, z- }( i  -> '1997-12-15'   
6 ?5 g+ l& ~% k$ u* z' }mysql> select curdate() + 0;    ! ?, f( n6 Y9 P' R, H' b7 N4 G4 }
  -> 19971215    - |( |/ j0 \5 G& q. C
9 q- y. h* z2 Y+ c: i: \: N
curtime()   
; w  E  C, R; l" ]) c1 pcurrent_time()  
. a8 a  r- e- o4 U 以'hh:mm:ss'或hhmmss格式返回当前时间值(根据返回值所处上, l" Z7 P1 p$ x% ^/ ?! b
下文是字符串或数字)      ) k" O; h/ W$ {0 }: M
mysql> select curtime();   
; l6 k4 E! w* ?: E2 j" r6 [  -> '23:50:26'   
- H$ s( E5 z4 I" S+ y# Bmysql> select curtime() + 0;   
! {; B) |9 C( f* D6 V" S- m' N2 M0 `  -> 235026   
2 K( u7 h- @0 h* }/ Y2 z 2 U/ e7 g$ A, L) t* r
now()    
( I/ q- @# d/ C% v: }- Psysdate()    1 E" K) Q  B2 F8 ?! g  s
current_timestamp()  
) x: b/ ^* N( R# m% j) a: b 以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回当前日期
4 F1 A7 S# h, l时间(根据返回值所处上下文是字符串或数字)     
1 B2 z1 V& w3 I, Z* Jmysql> select now();   
' O" K& y6 U  ~  v6 ~8 I6 j1 `  -> '1997-12-15 23:50:26'    6 o' N/ e8 ]  F# p
mysql> select now() + 0;   
! e# ]. h  L- v* ]# _. _6 \( E  -> 19971215235026    ) i6 Z6 |8 c- x, G
" x) k% }) d, q  b4 ]: E+ o) r( j6 Z
unix_timestamp()    ) C+ }- I* [9 Z; P* c) \
unix_timestamp(date)    8 ~% P( x; S% f0 b5 d/ r
返回一个unix时间戳(从'1970-01-01 00:00:00'gmt开始的秒
" C5 @0 T$ T1 |4 q/ D8 i& i数,date默认值为当前时间)  # x, m5 _7 ~/ ^* U- n( n8 J
mysql> select unix_timestamp();   
! F0 r) V2 F8 p/ t. A) `  -> 882226357   
" v$ l: Y3 U+ p' o5 kmysql> select unix_timestamp('1997-10-04 22:23:00');   
  N/ j/ r. p; Y* y8 P' k/ H) F  -> 875996580   
& w; e7 i, b: W4 n1 K
- P; c  K( l8 N3 Afrom_unixtime(unix_timestamp)   
% S6 ~! w- p# `) W% d& r  c以'yyyy-mm-dd hh:mm:ss'或yyyymmddhhmmss格式返回时间戳的
0 f$ n1 ?% c4 k# r* v" i值(根据返回值所处上下文是字符串或数字)     + \. K4 Y" @. Y9 l( m2 c2 t; ^6 w
mysql> select from_unixtime(875996580);   
3 {! [6 z0 n( ], l7 k+ o# S  -> '1997-10-04 22:23:00'    6 q: I: @$ m2 C& `# g8 h; Q
mysql> select from_unixtime(875996580) + 0;    . C! b! f6 C0 D& a
  -> 19971004222300   
9 Z  A$ k3 z+ e4 R * p0 \3 [% a4 N, i
from_unixtime(unix_timestamp,format)    
! |7 @4 o0 x9 X( w4 V以format字符串格式返回时间戳的值  . P, O' [3 W3 e* h( n4 i! s
mysql> select from_unixtime(unix_timestamp(),'%y %d %m %
; E5 y4 g0 o: z+ C" zh:%i:%s %x');   
4 G, Z0 J) o0 J' Q$ \2 R5 H) V  -> '1997 23rd december 03:43:30 x'   
3 A* U* V4 x! e( n: U( B: t
# [0 ]" v' p4 }8 r) {3 qsec_to_time(seconds)   
2 S& P3 b3 P$ i0 s- b3 \. }9 a; ~以'hh:mm:ss'或hhmmss格式返回秒数转成的time值(根据返回值所处上下文是字符串或数字)     6 N5 _$ v. _! q4 U' E; d, p7 t
mysql> select sec_to_time(2378);    $ R( x7 a7 {- I# h
  -> '00:39:38'   
2 Y  E+ i+ a8 rmysql> select sec_to_time(2378) + 0;    0 p& H, q( N" q0 a- O; S! O' W
  -> 3938   
8 p! a2 N0 _( _4 J8 J9 H' D 4 Q1 n7 N( I6 V7 R* F
time_to_sec(time)   
& S+ T! }! f5 L返回time值有多少秒    ( n5 p7 L, K# I# I
mysql> select time_to_sec('22:23:00');   
+ c/ M* V0 I: i( j  -> 80580    * p$ B+ Z+ e) }+ Y/ Y+ u3 `" ^" o
mysql> select time_to_sec('00:39:38');   
: R4 \! M! T- a/ Z6 C! {  -> 2378
) s4 T) X: }' ~! r( e% h
* u0 M9 c$ k9 _" ~8 M) E转换函数6 s# i& @- ]1 K$ \/ f
cast
7 G& K8 N# E) R+ p: F用法:cast(字段 as 数据类型) [当然是否可以成功转换,还要看数据类型强制转化时注意的问题]
. B  j/ S& \& _8 w  j. W3 K: |# I# h实例:select cast(a as unsigned) as b from cardserver where order by b desc;2 ?7 u. X3 s9 a# e
convert:
- o2 r/ u! \: J$ q& |用法:convert(字段,数据类型)" N, s' n1 T: o) O! l
实例:select convert(a ,unsigned) as b from cardserver where order by b desc;

3 a0 G0 X  N# h3 A1 k5 I! X
回复

使用道具 举报

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

本版积分规则

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