MySQL跟Java之间between时间查询问题,踩坑记

MySQL的时间类型 MySQL中展示 Java中与之对应的时间类型
date 2019-12-30 java.sql.Date
dateTime 2019-12-30 11:12:57 java.sql.Timestamp
Timestamp 2019-12-30 11:14:58 java.sql.Timestamp
Time 11:15:20 java.sql.Time
Year 2019 java.sql.Date

Timestamp范围为1970-01-01 –2037年,精度为1秒

与DateTime类型非常相似,但是Datetime没有时区问题,timestamp有

如果在Sql中未对Timestamp类型的列赋值,该列将被构造成当前时间。
提交NULL值也会使该列以当前时间录入。

如果时间提交错误,该列将被填入0.

Timestamp比DateTime 类型所需的存储空间更小,只需要4个字节,而DateTime需要8个字节。

但是有一点需要特别注意。Timestamp只能表示时间范围为1970 -2037.

使用Timestamp一定要确保提交的时间数据一定不会超过这个范围。__

  1. 我们在Java中看看格式。后面发送给数据库
   @Test
    public void test(){
   
        System.out.println("new Date() = " + new Date());
        System.out.println("new java.sql.Date(new Date().getTime()) = " + new java.sql.Date(new Date().getTime()));
        System.out.println("new Timestamp(new Date().getTime()) = " + new Timestamp(new Date().getTime()));
        System.out.println("new Time(new Date().getTime()) = " + new Time(new Date().getTime()))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: MySQL中的时间区间查询between是一种常用的查询方式,它可以查询某个时间段内的数据。具体使用方法如下: SELECT * FROM table_name WHERE date_column BETWEEN 'start_date' AND 'end_date'; 其中,table_name是要查询的表名,date_column是要查询的日期列名,start_date和end_date是时间区间的起始和结束时间。注意,日期格式必须与date_column列的格式一致。 例如,查询某个表中2019年1月1日至2019年12月31日之间的数据,可以使用以下语句: SELECT * FROM table_name WHERE date_column BETWEEN '2019-01-01' AND '2019-12-31'; ### 回答2: MySQL时间区间查询between是一种非常常用的操作,它可以用来查询满足指定时间段的数据。在MySQL中使用between查询方式,需要注意以下几个方面: 1. between运算符通常用于选取一个范围内的数据,要求选择的两个数值必须是数值型数据。 2. 时间戳数据类型可以直接使用between,但是日期和时间数据类型需要转换成UNIX时间戳后再进行between操作。 3. 时间戳数据类型是以秒为单位进行存储的,当进行时间范围查询时,要将时间统一转换成同一时间戳格式,以保证查询的精确性。 例如,查询2019年11月1日到11月30日这个时间范围内的数据,可以使用如下MySQL语句: SELECT * FROM table_name WHERE date BETWEEN UNIX_TIMESTAMP('2019-11-01') AND UNIX_TIMESTAMP('2019-11-30 23:59:59'); 这条SQL语句中使用了UNIX_TIMESTAMP函数将日期时间转换成了UNIX时间戳格式,并使用BETWEEN运算符筛选出符合条件的数据。 总之,MySQL时间区间查询between是一种非常实用的查询方式,可以帮助我们轻松地实现时间范围的筛选操作。需要注意的是,在进行between操作时一定要将时间统一转换成同一格式,以保证查询的准确性。 ### 回答3: MySQL时间区间查询between是一种非常常用的SQL查询语句,用于查询某个数据表中符合指定时间范围的数据。 在MySQL中,时间数据类型可以是日期、时间或日期加时间。常用的时间数据类型有:DATE、TIME、DATETIME和TIMESTAMP。 在使用between语句查询时间区间时,需要将指定的时间范围转化成对应的时间数据类型。例如,对于DATE类型的时间数据,可以使用以下SQL查询语句: SELECT * FROM table_name WHERE date_column BETWEEN 'start_date' AND 'end_date' 其中,table_name是要查询的数据表名,date_column是存储日期的列名,'start_date'和'end_date'分别是起始时间和结束时间。 对于TIME、DATETIME和TIMESTAMP类型的时间数据,使用between查询语句的方法也类似: SELECT * FROM table_name WHERE datetime_column BETWEEN 'start_datetime' AND 'end_datetime' 在使用between查询时间区间时,需要特别注意时间格式的问题。为了避免查询出错,建议在输入时间时使用标准的时间格式,例如: - DATE类型时间数据:YYYY-MM-DD - TIME类型时间数据:HH:MM:SS - DATETIME类型时间数据:YYYY-MM-DD HH:MM:SS - TIMESTAMP类型时间数据:YYYY-MM-DD HH:MM:SS 总之,使用MySQL时间区间查询between需要对时间数据类型和时间格式有一定的了解,同时遵循查询的规范和标准,才能准确地查询出符合条件的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值