工作方法记录

本文介绍了Java中将long转换为int的Math.toIntExact方法,强调了溢出检查的重要性。探讨了数据库的时间戳转换函数FROM_UNIXTIME和UNIX_TIMESTAMP,特别指出Java与数据库时间戳的精度差异。讲解了SQL的UNION与UNION ALL的区别,以及如何使用CONCAT进行字符串组合。此外,还提到了LEFT函数用于提取字符串左侧字符,IF条件判断语句,TRUNCATE函数进行数据截断,以及STRING函数的UPPER和LOWER。最后,讨论了LIKE、REGEXP和GROUP_CONCAT在模糊查询和数据聚合中的应用。

(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.youkuaiyun.com/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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值