SQL语句中判断时间方法

SQL语句中判断时间方法

尼采
2022-06-04 / 0 评论 / 998 阅读 / 正在检测是否收录...

场景在现:
数据库中保存的时间使用的是yyyy-MM-dd HH:mm:ss格式,前端传过来是时间戳,那么如何比较这两个时间呢?

解决方案:
用时间戳比较大小比较准确,所以将数据库中时间取出来转换成时间戳与前端传过来的时间戳作比较。
用到了unix_timestamp函数:

        <if test="query.needTimeBegin != null and query.needTimeBegin != ''">
            UNIX_TIMESTAMP(shelves_time)  >= #{query.needTimeBegin}
        </if>

扩展:
一.
1.返回当前时间的时间戳

select unix_timestamp();

2.如果参数date满足yyyy-MM-dd HH:mm:ss形式,则可以直接unix_timestamp(string date) 得到参数对应的时间戳或者满足yyyy-MM-dd形式

select unix_timestamp('2018-12-05 01:10:00','yyyy-MM-dd HH:mm:ss');
select unix_timestamp('2018-12-05','yyyy-MM-dd');

二. from_unixtime函数用法
1.相反的把时间戳转换成时间格式

from_unixtime(tt)

2.tt为10位数的时间戳

select from_unixtime(1543943400); 

3.from_unixtime(tt,‘yyyy-MM-dd’) 可以加上时间格式

select from_unixtime(1543943400,'yyyy-MM-dd');
1

评论 (0)

取消