【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 哈希值。