1.字符串函数 concat('a','b'); 字符串拼接函数 insert("abcd",1,2,"我是A我是B"); 从指定位置开始替换指定长度的指定数据(起步为1) lower() 转小写 upper() 转大写 left("abcd",2) 返回ab right("abcd",2) 返回cd lpad("1",10,"0") 返回00000000001 rpad("1",10,"0") 返回10000000000 同上一个都属于字符串填充函数 ltrim() 删除左边的空格 rtrim() 删除右边的空格 trim() 删除所有的空格 repeat("100",2) 返回100100 ,意思就重复之前的数据多少次 replace("abcd","ab","AB"); 将ab替换成AB strcmp(1,1) 比较两个值,相同返回0,不等返回-1 substring("abcd",1,2) 返回ab ,(起步为1),相当于php中的substr 2.数值函数 abs(10),abs(-10) 返回绝对值,那就是10 ceil(10.1) 返回11 floor(10.1) 返回10 ,跟上面比较一下就知道是什么作用了 mod(10,3) 返回1 取模 相当于 10%3 rand() 0 - 1之间的随机数(基本是小数) ceil( rand() * 10 ) 返回1个1-10之间的随机整数 round(100.52485) 返回 101 round(100.42485) 返回 100 round(100.52485,3) 返回 100.525 truncate(100.52485) 返回100 truncate(100.52485,3) 返回100.524 基本相当于一个按位截取 3.时间函数 curtime() 当前时间 curdate() 当前日期 now() 当前日期加当前时间 unix_timestamp() 返回指定值的时间戳,不指定的话,就返回当前 from_unixtime() 把时间戳格式化成日期时间 week('2014-07-06') 返回这是这年的那一个礼拜 year('2014-07-06') 返回2014 hour('2014-07-06 12:13:14') 返回 12 minute('2014-07-06 12:13:14') 返回 13 monthname('2014-07-06') 返回july 返回的是这个日期的月份的英文名称 date_format('2014-07-06','%T') 通过mysql的内置时间格式符格式时间 datediff('2014-08-08','2014-09-09') 两个时间之间差了多少天 date_add(now(),INTERVAL 31 DAY) 在当前时间上加上31天 (DAY这个类型是可选的,具体可参见mysql日期间隔类型) 4.流程函数 if(1=1,'A','B') 返回A if(1=2,'A','B') 返回B ifnull(NULL,'B') 返回B ifnull('A','B') 返回A case when 1=1 then 'A' else 'B' end 返回A case when 1=2 then 'A' else 'B' end 返回B case的switch: case when 1=1 then 'A' when 2=2 then 'B' when 3=3 then 'C' ... end; 5.其他函数 inet_aton('127.0.0.1'); 返回1个ip地址的数字表现形式 inet_ntoa(inet_aton('127.0.0.1')) 返回1个数字的ip表现形式 md5(xxxxx) password(xxxx) mysql自带的字符串加密功能