P79)字符串函数
CONCAT(S1,S2,...,Sn):连接S1,S2,...,Sn为一个字符串。
LEFT(str, x):返回字符串str最左边的x个字符。
RTRIM(str):去掉字符串str行尾的空格。
INSERT(str, x, y, instr):将字符串str从第x位置开始(包含第十二个),y个字符串长的子串替换为字符串instr。
STRCMP(s1, s2)函数:比较s1和s2的ASCII码值大小。如果s1比s2小,那么返回-1;如果s1与s2相等,那么返回0;如果s1比s2大,那么返回1。
P82)数值函数
CEIL(x):返回大于x的最小整数值。
FLOOR(x):返回小于x的最大整数值。
RAND():返回0~1内的随机值。
ROUND(x, y):返回参数x的四舍五入的有y位小数的值。
TRUNCATE(x, y):返回数字x截断为y位小数的结果。仅仅截断,而不进行四舍五入。
P85)日期和时间函数
CURDATE():返回当前日期,只包含年月日。
CURTIME():返回当前时间,只包含时分秒。
NOW():返回当前的日期和时间,年月日时分秒全都包括。
UNIX_TIMESTAMP(date):返回日期date的UNIX时间戳。
FROM_UNIXTIME(unixtime):返回UNIXTIME时间戳的日期值,和UNIX_TIMESTAMP(date)互为逆操作。
DATE_ADD(date, INTERVAL expr type):返回与所给日期date相差INTERVAL时间段的日期。其中INTERVAL是间隔类型关键字,expr是一个表达式,type是间隔类型。可以用负数让它返回之前的某个日期时间。
DATEDIFF(date1, date2)函数:用来计算两个日期之间相差的天数。
P89)流程函数
IF(value, t, f):如果value是真,返回t,否则返回f。
IFNULL(value1, value2):如果value不为空,返回value1,否则返回value2。这个函数一般用来替换NULL值。
CASE WHEN [value1] THEN [result1] ... ELSE [default] END:
如果value1是真,返回result1,否则返回default。
CASE [expr] WHEN [value1] THEN [result1] ... ELSE [default] END:
如果expr等于value1,返回result1,否则返回default。
P91)其他常用函数
DATABASE():返回当前数据库名。
USER():返回当前登录用户名。
INET_ATON(IP):返回IP地址的数字表示。接受字符串。
INET_NTOA(num):返回数字代表的IP的地址。返回网络字节序代表的IP地址。
PASSWORD(str):返回字符串str的加密版本。只用来对系统用户的密码加密,但不能用来对应用的数据加密。
MD5():返回字符串str的MD5值。常用来对应用中的数据进行加密。
INET_ATON(IP)和INET_NTOA(num)函数主要的用途是将字符串的IP地址转换为数字表示的网络字节序,这样可以更方便的进行IP或者网段的比较。例如求两个IP之间一共有多少IP地址。