数据库函数

本文详细介绍了MySQL中的各种函数,包括字符串函数如CHAR_LENGTH、SUBSTRING、CONCAT,数学函数如ABS、POW和RAND,日期和时间函数如CURDATE、DATEDIFF,以及系统信息和条件判断函数等,这些函数在数据库操作和查询中起着关键作用。
摘要由CSDN通过智能技术生成

1、CHAR_LENGTH():按照字符个数统计字符串长度;

2、SUBSTRING(参数1,参数2,参数3):    截取字符串

    三个参数分别表示:参数1表示需要截取的字符串,参数2表示从字符串的那个位置开始截取(字符串下标从1开始),参数3表示要截取多少位,如果不写,表示截取从参数2指定的位置开始剩下的全部字符

  1. CONCAT():用于将多个字符串连接成一个字符串

1、数学函数

abs(x):绝对值

ceil(x)或者ceiling(x):向上取整

Floor(x):向下取整

pow(x,y):求指数,x的y次方

rand(),rand(N):返回0-1间的浮点数,使用不同的seed N可以获得不同的随机数

round(x, D):四舍五入保留D位小数,D默认为0, 可以为负数, 如round(19, -1)返回20

2 字符串函数

char_length(str):返回str所包含的字符数,一个多字节字符算一个字符

length(str): 返回字符串的字节长度,如utf8中,一个汉字3字节,数字和字母算一个字节

concat(s1, s1, ...): 返回连接参数产生的字符串

lower(str)或者lcase(str):全部小写

upper(str)或者ucase(str):全部大写

left(s,n):返回字符串s最左边n个字符

right(s,n): 返回字符串最右边n个字符

ltrim(s):删除s左侧空格字符

SUBSTRING(str,pos), SUBSTRING(str FROM pos), SUBSTRING(str,pos,len), SUBSTRING(str FROM pos FOR len),MID(str,pos,len): 获取特定位置,特定长度的子字符串

INSTR(str,substr): 判断子字符串在目标字符串中是否存在,存在返回其位置,不存在,返回0。

Position(‘’IN str) 判断特定字符在字符串的哪个位置,从1开始

3 日期和时间函数

CURDATE(), CURRENT_DATE, CURRENT_DATE():用于获取当前日期,格式为'YYYY-MM-DD'; 若+0则返回YYYYMMDD

CURTIME([fsp]), CURRENT_TIME, CURRENT_TIME([fsp]): 用于获取当前时间, 格式为'HH:MM:SS' 若+0则返回 HHMMSS

DATEDIFF(expr1,expr2):返回相差的天数,参数是必须使用字符串格式(用引号)。

TIMEDIFF(expr1,expr2):返回相隔的时间

ADDDATE(date,INTERVAL expr unit):进行时间的增加。

Unit:day/hour/minute/second

MONTH(date)

MONTHNAME(date)

DAYNAME(date)

DAY(date),DAYOFMONTH(date):1-31或者0

DAYOFWEEK(date):1-7==>星期天-星期六

DAYOFYEAR(date): 1-365

4 系统信息函数

VERSION():返回mysql服务器的版本,是utf8编码的字符串

DATABASE(),SCHEMA():显示当前使用的数据库

SESSION_USER(), SYSTEM_USER(), USER(), CURRENT_USER, CURRENT_USER():返回当前的用户名@主机,utf8编码字符串

CHARSET(str)

COLLATION(str)

LAST_INSERT_ID():自动返回最后一个insert或者update查询, 为auto_increment列设置的第一个发生的值

5 其他函数

MD5(str):对数据进行MD5加密。

UUID:生成一个唯一标识符(自增长),是整数,数据唯一,空间唯一

6条件判断函数

IF(expr1,expr2,expr3):如果expr1不为0或者NULL,则返回expr2的值,否则返回expr3的值

IFNULL(expr1,expr2):如果expr1不为NULL,返回expr1,否则返回expr2

NULLIF(expr1,expr2): 如果expr1=expr2则返回NULL, 否则返回expr2

CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE result] END

当compare_value=value时返回result

CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END

当condition为TRUE时返回result

    SELECT CASE 1 WHEN 1 THEN 'one'

        WHEN 2 THEN 'two' ELSE 'more' END;##'one'

    SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END;##'true'

    SELECT CASE BINARY 'B'

        WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;##NULL

7 格式或类型转化函数

FORMAT(X,D[,locale]):将数字X转化成'#,###,###.##'格式,D为保留的小数位数

CONV(N,from_base,to_base):改变数字N的进制,返回值为该进制下的数字构成的字符串

INET_ATON(expr):ip字符串转数字

INET_NTOA(expr):数字转ip字符串

CAST(expr AS type):转换数据类型

CONVERT(expr,type), CONVERT(expr USING transcoding_name): type可以为BINARY[(N)],CHAR[(N)],DATE,DATETIME, DECIMAL[(M[,D])],DECIMAL[(M[,D])],TIME,UNSIGNED [INTEGER]等等。transcoding_name如utf8等等

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值