데이터베이스 기능
1. 데이터베이스 기능
1.MySQL提供了实现各种功能的函数
2.常用的函数分类
数学函数
聚合函数
字符串函数
日期时间函数
1. 수학 함수
일반적으로 사용되는 수학 함수
abs(x)返回×的绝对值
rand()返回0到1的随机数
mod(x,y)返回x除以y以后的余数
power(x,y)返回x的y次方
round(x)返回离x最近的整数
round(x,y)保留x的y位小数四舍五入后的值
sqrt(x)返回x的平方根
truncate(x,y)返回数字x截断为y位小数的值
ceil(x)返回大于或等于x的最小整数
floor(x)返回小于或等于x的最大整数
greatest(x1,x2...)返回集合中最大的值
least(x1,x2...)返回集合中最小的值
일반적인 수학 함수의 사용
abs (x)
rand (x)
mod (x, y)
power (x , y)
pow(x,y)或者power(x,y)返回x的y次乘方的结果值
exp(x)返回e的x乘方
원형 (x)
round(x)返回最接近于参数x的整数,对x值进行四舍五入
四舍五入之后,只保留各个值的整数部分
원형 (x, y)
round(x,y),返回最接近参数x的数,其值保留到小数点后的y位,
若y的值为负值,则保留到左边的y位,保留的小数点左边的相应位数
直接保存为0,不进行四舍五入
sqrt (x)
SQRT(x)返回非负数x的二次方根
求9,40,-49的二次方根
负数没有平方根,故-49的返回值是null
자르기 (x, y)
truncate(x,y)返回被舍去至小数点后y位的数字x,若y的值为0,
则结果不带小数点或者小数部分。若y的值为负数,
则截去(归零)x小数点左起第y位开始后面所有地位的值。
rounf(x,y)在截取时会进行四舍五入,而truncate(x,y)直接进行截取,不会四舍五入
ceil (x)
CEIL(x)和CEILING(x)意义相同,前者是后者的缩写,返回不小于x的最小整数值,
并不是四舍五入,返回值转化为一个BIGINT类型
-3.4为负数,不小于-3.4的最小整数为-3,3.1为正数,不小于3.1的最小整数为4
층 (x)
FLOOR(x)返回不大于x的最大整数
-3.4为负数,不大于-3.4的最大整数为-4,3.1为正数,不大于3.1的最大整数为3
2. 집계 함수
1.对表中数据记录进行集中概括而设计的一类函数
일반적으로 사용되는 집계 함수
avg()返回指定列的平均值
count()返回指定列中非NULL值的个数
min()返回指定列的最小值
max()返回指定列的最大值
sum()返回指定列的所有值之和
count(*)和count(1)和count(列名)区别
执行效果上:
count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL
count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL
count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示rull)的计数,即某个字段值为NUL时,不统计。
3. 문자열 함수
일반적으로 사용되는 문자열 함수
length(x)返回字符串x的长度
trim()返回去除指定格式的值
concat(x,y)将提供的参数x和y拼接成一个字符串
upper(x)将字符串x的所有字母变成大写字母
lower(x)将字符串x的所有字母变成小写字母
left(x,y)返回字符串x的前y个字符
right(x,y)返回字符串x的后y个字符
repeat(x,y)将字符串x重复y次
space(x)返回x个空格
replace(x,y,z)将字符串z替代字符串x中的字符串y
strcmp(x,y)比较x和y,返回的值可以为-1,0,1
substring(x,y,z)获取从字符串x中的第y个位置开始长度为z的字串
reverse(x)将字符串x反转
일반적인 수학 함수의 사용
concat (x, y…)
CONCAT(s1,s2,...)返回结果为连接参数产生的字符串,可能有一个或者多个参数,
如果有一个参数值为null,返回值为null。
如果所有参数为非二进制字符串,则返回结果为非二进制字符串,如果参数中含
有一个二进制字符串,则返回结果为二进制字符串
아래 (x) 、 위 (x)
LOWER(str)或者LCASE(str)可以str字符串中字母字符全部转换成小写字母
UPPER或者UCASE可以将字符串中所有字母转化为大写
왼쪽 (s , n) 및 오른쪽 (s , n)
left(s,n)只有两个参数,第一个参数是原字符串,第二个参数是截止位置
left是左边的意思,函数的意思就是1开始,截取n个字符,或者说截取左边n个字符
right是右边的意思,含义同上
반복 (s , n)
REPEAT(s,n)返回一个s重复n次的字符串s,如果n小于等于0,则返回
一个空字符串,若s或者n为null,则返回null
스페이스 (x)
space(x)返回由n个空格组成的字符串
바꾸기 (x, y, z)
replace(s,s1,s2)使用字符串s2替换s中的所有字符串s1
strcmp (s1, s2)
strcmp(s1,s2) 若所有的字符串相同,则返回0,若第一个参数小于第二个,则返回-1,
其余情况返回1
부분 문자열 (s, n, len) 和 mid (s, n, len)
substring(s,n,len)带有len参数的格式,从字符串s返回一个长度同len
字符相同的子字符串,起始于位置n。
如果n是负值,则子字符串的位置起始于字符串结尾的n字符,即倒数第n
个字符,而不是字符串的开头位置
substring函数与mid函数作用相同
如果对len使用一个小于1的值,则结果始终是空字符串
역 (x)
REVERSE(s)将字符串s反转,返回的字符串顺序和s的字符串顺序相反