Mysql--内置函数

字符串函数

 1、拼接字符串

concat(str1,str2...)

select concat(12,34,'abccc')

select CONCAT(name,'的家乡是',hometown) from students

Mysql--内置函数_第1张图片

2、包含字符个数

length('abc')

注:一个中文占3个字符,一个字母或数字占1个字符

3、截取字符串

left(str,len)返回字符串str的左端len个字符
right(str,len)返回字符串str的右端len个字符
substring(str,pos,len)返回字符串str从位置pos起len个字符

更多请参考:

SQL中的字符串截取函数_sql 截取字符串_晓之以理的喵~~的博客-CSDN博客

4、去除空格

ltrim(str)返回删除了左空格的字符串str
rtrim(str)返回删除了右空格的字符串str
trim(str)返回删除了左右空格的字符串str

注:左右都去掉也可以左右两个函数套用

5、大小写转换

lower(str)
upper(str)

数学函数

1、round(n,d)

求四舍五入值round(n,d),n表示原数,d表示小数位置,默认d为0

2、求x的y次幂pow(x,y)

4、圆周率PI()

5、rand()

随机数rand(),值为0-1.0的浮点数

应用:从students表中随机取一条数据

select * from students ORDER BY RAND() LIMIT 1

日期时间 

mysql筛选时间_mob649e81553a70的技术博客_51CTO博客

current_date()

获取当前日期

mysql> select current_date();
+----------------+
| current_date() |
+----------------+
| 2023-10-08     |
+----------------+
1 row in set (0.00 sec)

 current_time()

获取当前时间

mysql> select current_time();
+----------------+
| current_time() |
+----------------+
| 11:41:21       |
+----------------+
1 row in set (0.00 sec)

now()

 获取当前日期时间

mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2023-10-08 11:42:37 |
+---------------------+
1 row in set (0.00 sec)

date_format(date,format)

日期格式化 

参数format可选值如下

%Y 获取年,返回完整年份

%y 获取年,返回简写年份

%m 获取月,返回月份

%d 获取日,返回日

%H 获取时,返回24进制的小时数

%h 获取时,返回12进制的小时数

%i 获取分,返回分钟数

%s 获取秒,返回秒数

MySQL 函数 | 菜鸟教程

to_days()

计算日期 d 距离 0000 年 1 月 1 日的天数 

SELECT TO_DAYS('0001-01-01 01:01:01')
-> 366

指定日期的多种书写方式

select to_days('20210601');
select to_days('2021/06/01');
select to_days('2021,06,01');

例:有一张表lito,表 有一个字段 create_time  类型 datetime查询当前表中昨天的数据 

select * from lito where to_days(now())-to_days(create_time)<1
--now():获取当前的日期和时间:2022-08-18 11:20:53

 yearweek(date,mode)

 返回年份及第几周(0到53),mode 中 0 表示周天,1表示周一,以此类推(默认为0)

SELECT YEARWEEK("2017-06-15");
-> 201724

你可能感兴趣的:(数据库,java,数据库,spring)