当前位置: 代码迷 >> 综合 >> SQL查询,时间SQL,时间戳转换
  详细解决方案

SQL查询,时间SQL,时间戳转换

热度:83   发布时间:2023-10-21 12:54:28.0

SQL语句中时间戳比对

===10-02更新

时间戳转时区  CONVERT_TZ(create_time,'+00:00','+07:00')

              如果确定时间: DATE_ADD(end_effect,INTERVAL 8 HOUR)

转格式:DATE_FORMAT(CONVERT_TZ(pay_time,'+00:00','+07:00'),'%Y-%m-%d %H:%m:%s')

               '%Y-%m-%d %H:%m:%s'  ==> '2018-11-02 17:50:50' 

 

今天做到一个需求:

Mysql字段格式是时间戳:查询出来需要转为字符串格式。

select DATE_FORMAT(reg_time,'%Y-%m-%d %H:%i:%s') AS time from u_user

而且需要做时间戳比对。不多说,直接看代码:

SELECT config_id,config_desc,validate,recharge_count,config_type,

gift_coin,true_coin,recharge_amt,insert_time,start_effect,end_effect 

FROM s_recharge_config WHERE DATE_ADD(end_effect,INTERVAL 8 HOUR) >= '2018-01-16 16:33:16' AND configType = 2 ORDER BY recharge_amt

//查询时。我们服务器时间晚8小时。所以这里使用DATE_ADD函数

(关于时间戳转为字符串,看了网上好多的说法都是使用FROM_UNIXTIME函数。但是我用的时候 不能实现效果,反而在获取结果时。我用SimpleDateFormat的format方法出来的就是字符串格式的数据

Map<String, Object> result = baseDAO.getBySQL(sql, paramMap);

 

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(result.get("start_effect"))

 

  相关解决方案