sql函数学习:SQL Server CAST() Function
1. cast(1 as int) --- 将(任何类型的)值转换为指定的数据类型
例:cast(current_date as timestamp)
将当前时间(date类型)转为时间戳类型
2. DATE_TRUNC() -- 将时间戳四舍五入到需要的间隔.
使用方式:DATE_TRUNC(‘[interval]’, time_column)
time_column
是要舍入的时间戳的数据库列
[interval]
指示您所需的精度级别。
例:date_trunc('month',cast(current_date as timestamp))
将当前时间截取到“月”这个精度,当前时间为2022-07-25 18:01:45,
截取后为2022-07-01 00:00:00
参考:DATE_TRUNC: SQL Timestamp Function Explained | Mode
3.关键词 ON DUPLICATE KEY UPDATE
INSERT INTO table_name( name, age)
VALUES ( "李白", 33)
ON DUPLICATE KEY UPDATE id = 1, name = "李白", age = 33
当此表中存在唯一键,那么上面的语句,执行时,存在与唯一键相同的值的时候,变成更新,不存在就插入
mybatis中使用:
<insert id="add">
INSERT INTO t_purchase (name,age)
VALUES
<foreach collection="list" index="index" item="item" separator=",">
(#{item.name}, #{item.age})
</foreach>
ON DUPLICATE KEY UPDATE
name = VALUES(name),
age = VALUES(age)
yn = 1
</insert>
(yn表示逻辑删除,yn=1表示有效,yn=0表示已删除)