【MySQL基础知识】内置的系统函数(5)
MySQL 中的内置系统函数
MySQL 拥有丰富的内置系统函数,这些函数在数据库操作中发挥着重要作用。它们可以用在各种 SQL 语句中,如 SELECT、WHERE、ORDER BY、HAVING以及UPDATE和DELETE语句中。在函数中,可以将字段名作为变量来使用,变量的值就是这个列对应的每一行记录。
一、字符串函数
PHP 中常用的函数,在 MySQL 中大部分也提供
CONCAT(S1,S2....SN):此函数能够把传入的多个参数连接成一个字符串。例如,若有两个字符串参数“Hello”和“World”,使用这个函数后会得到“HelloWorld”。INSERT(str, x, y, insert):该函数将从字符串str的x位置开始,把长度为y的字符串替换为字符串insert。比如,对于字符串“Hello World”,如果从第 7 个位置开始,将长度为 2 的字符串替换为“Good”,则结果为“Hello Goodeorld”。LOWER(str)和UPPER(str):分别用于将字符串转为小写或大写。例如,“Hello”经过LOWER函数处理后变为“hello”,而“world”经过UPPER函数处理后变为“WORLD”。LEFT(str, x)和RIGHT(str, x):LEFT函数返回字符串最左边的x个字符,RIGHT函数返回最右边的x个字符。如果第二个参数为NULL,则什么也不返回。例如,对于字符串“Hello World”,LEFT函数传入参数 5 时返回“Hello”,RIGHT函数传入参数 5 时返回“World”。LPAD(str, n, pad)和RPAD(str,n,pad):这两个函数分别用字符串pad对str的最左边和最右边进行填充,直到长度为n个字符长度。例如,对于字符串“Hello”,如果使用LPAD函数,参数n为 10,pad为“*”,则结果为“******Hello”。TRIM(str)、LTRIM(str)和RTRIM(str):这三个函数分别用于去掉字符串两边、左边和右边的空格。例如,对于字符串“ Hello World ”,使用TRIM函数后变为“Hello World”。replace(str, a,b):此函数用字符串b替换字符串str中的所有出现的字符串a。比如,对于字符串“Hello World”,如果将“World”替换为“Universe”,则结果为“Hello Universe”。strcmp(s1, s2):如果s1比s2小,返回 -1;如果s1比s2大,则返回 1;如果s1==s2,则返回 0。例如,比较“Apple”和“Banana”,会返回 -1。substring(str, x, y):这个函数返回字符串str中从第x位置起y个字符串长度的字符。例如,对于字符串“Hello World”,如果从第 7 个位置开始取 3 个字符,则结果为“Wor”。
二、数值函数
ABS(x):返回x的绝对值。例如,ABS(-5)的结果为 5。ceil(x):返回大于x的最小整数。例如,对于数字 2.1、2.5 和 2.9,结果都是 3。floor(x):返回小于x的最大整数。例如,对于数字 2.1、2.5 和 2.9,结果都是 2。mod(x, y):返回x/y的模。例如,mod(10, 3)的结果为 1。rand():生成一个 0 到 1 之间的随机数。round(x,y):返回参数x四舍五入后的结果,保留y位小数。例如,round(3.14159, 2)的结果为 3.14。truncate(x,y):返回数字x截断为y位小数的结果。例如,truncate(3.14159, 2)的结果为 3.14。
三、日期函数
可以使用 PHP 的时间戳来完成一些日期相关的操作。
curdate():返回当前日期。curtime():返回当前时间。now():返回当前的日期和时间。unix_timestamp(date):将日期转换为 Unix 时间戳。from_unixtime:将 Unix 时间戳转换为日期。week():返回日期所在的周数。year():返回日期中的年份。hour():返回时间中的小时数。minute():返回时间中的分钟数。
四、流程控制函数
if(value, t, f):根据value的值返回t或f。ifnull(value1, value2):如果value1为NULL,则返回value2,否则返回value1。case when [value1] then[result1]...else[default]end:根据不同的条件返回不同的结果。case when...then:与上一个类似,用于条件判断和结果返回。
五、其它函数
database():返回当前数据库的名称。version():返回 MySQL 的版本信息。user():返回当前用户的名称。inet_aton(ip):将 IP 地址转换为整数。inet_ntoa():将整数转换为 IP 地址。password():用于加密密码。md5():计算字符串的 MD5 哈希值。
