MySql存储日期为long型,判断时间大小

将4月20到当前时间段的销售状态全部改成未售(1),销售时间改成null(0)
UPDATE hy_car_detail hcd SET hcd.sales_date = '',hcd.sales_status = '1' 
WHERE hcd.car_id IN (
SELECT hc.car_id FROM hy_car hc WHERE hc.car_date BETWEEN (SELECT UNIX_TIMESTAMP ('2016-04-20 00:00:00')) AND (SELECT UNIX_TIMESTAMP ())
)
 
知识点:
Mysql中日期转换成long类型(既转换成秒数存储),方便查询使用
1、将时间转换成秒 : 
    1.1 : SELECT UNIX_TIMESTAMP ()  获取当前时间转换成的秒数
    1.2 : UNIX_TIMESTAMP ('2016-04-20 00:00:00')  获取指定日期的秒数
2、将秒数转换成日期格式:
    2.1 : SELECT FROM_UNIXTIME(1388776825)
3、还可以增加时间格式,用法如下:

             SELECT  FROM_UNIXTIME( 1388776825, '%Y%m%d' )         结果:20140104

             SELECT  FROM_UNIXTIME( 1388776825, '%Y年%m月%d' )   结果:2014年1月4

4、将字符串转换成日期格式
mysql 类似to_char() to_date()函数

  mysql日期和字符相互转换方法

  date_format(date,'%Y-%m-%d') -------------->oracle中的to_char();

  str_to_date(date,'%Y-%m-%d') -------------->oracle中的to_date();

  %Y:代表4位的年份

  %y:代表2为的年份

  %m:代表月, 格式为(01……12)

  %c:代表月, 格式为(1……12)

  %d:代表月份中的天数,格式为(00……31)

  %e:代表月份中的天数, 格式为(0……31)

  %H:代表小时,格式为(00……23)

  %k:代表 小时,格式为(0……23)

  %h: 代表小时,格式为(01……12)

  %I: 代表小时,格式为(01……12)

  %l :代表小时,格式为(1……12)

  %i: 代表分钟, 格式为(00……59)

  %r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)

  %T:代表 时间,格式为24 小时(hh:mm:ss)

  %S:代表 秒,格式为(00……59)

  %s:代表 秒,格式为(00……59)

  SELECT DATE_FORMAT(20130111191640,'%Y-%m-%d %H:%i:%s')

  DATE_FORMAT(20130111191640,'%Y-%m-%d %H:%i:%s')

 
原文地址:https://www.cnblogs.com/cfb513142804/p/5473279.html