(1)Math.toIntExact 将long类型的数据改为int类型的数据。
源码如下:
public static int toIntExact(long value) {
if ((int)value != value) {
throw new ArithmeticException("integer overflow");
}
return (int)value;
}
传入long,返回int,如果long超过了int的范围时,抛出异常intger overflow
(2)数据库函数
FROM_UNIXTIME(时间戳)
数据库中使时间大多以时间戳来进行存储,开发人员读取比较困难,此时可以使用该函数将时间戳转化成正常的时间
UNIX_TIMESTAMP(时间)
与上面的相反,将时间转化为时间戳
注意:java中的时间戳和数据库的时间戳有差异,java中的时间戳是毫秒级别的,而数据库中的时间戳是秒级别的,所以在java中向数据库插入时间戳时,记得将毫秒级时间戳/1000
后在进行插入或者修改
(3)数据库操作
union与union all
前提:两者查询出来的列必须相同
union:
将两个查询列表中相同的数据进行去重,并在最终的查询列中进行排序
union all:
将两个查询列表中的数据进行拼接,不去重,不排序。
(4)数据库操作
CONCAT() : 字符串组合操作
常用在模糊查询,例如:
select * from User where name like CONCAT("%","大","%")
(5)数据库操作
left(“字符串”,inedx) 返回字符串左边指定个字符
(6) sql中的条件判断
- case where 条件 then 语句1 else 语句2 end as 别名
- if(条件,语句1,语句2)
(7)truncate(double,1) 对数据进行截断,不是四舍五入
(8)字符串变换函数
upper(“字符串”) lower(“字符串”) 将某个字符变成大写或者小写
(9)字符串长度 char_length(字符串)
(10)截取字符串,end 不写默认为空。
SUBSTRING(name, 2) 从第二个截取到末尾,注意并不是下标,就是第二个。
(11)group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’])
使用方法:https://blog.csdn.net/yz357823669/article/details/78794050?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165845307816781667843503%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165845307816781667843503&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-78794050-null-null.142v33experiment_28w_v1,185v2tag_show&utm_term=group_concat&spm=1018.2226.3001.4187
题目练习建议:https://leetcode.cn/problems/group-sold-products-by-the-date/submissions/
(12) 模糊查询 like 正则表达式 rlike 、REGEXP