MySql 按时间段查询数据方法

格式为2008-06-16 
查询出当天数据: 
SELECT * FROM `table` WHERE date(时间字段) = curdate(); 
查询出当月字段: 
SELECT * 
FROM `table` 
WHERE month( 时间字段) = month( now( ) ) ; 
时间格式为1219876…… UNIX时间,只要应用“FROM_UNIXTIME( )”函数 
例如查询当月: 
SELECT * 
FROM `table` 
WHERE month( from_unixtime( reg_time ) ) = month( now( ) ) ; 
查询上一个月的呢?变通一下! 
SELECT * 
FROM `table` 
WHERE month( from_unixtime( reg_time ) ) = month( now( ) ) -1;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在JAVA中,可以使用JDBC连接数据库进行按时间段查询数据操作。具体的步骤如下: 1. 加载数据库驱动程序 在JAVA中,需要使用JDBC驱动程序连接数据库。可以使用Class.forName()方法加载驱动程序。例如,如果使用MySQL数据库,可以使用以下代码加载MySQL驱动程序: ``` Class.forName("com.mysql.jdbc.Driver"); ``` 2. 连接数据库 在加载驱动程序后,需要使用DriverManager.getConnection()方法连接数据库。例如,如果使用MySQL数据库,可以使用以下代码连接MySQL数据库: ``` String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, user, password); ``` 3. 执行SQL语句 连接数据库后,需要使用Statement或者PreparedStatement对象执行SQL语句。例如,如果要查询某个时间段内的数据,可以使用以下SQL语句: ``` SELECT * FROM table_name WHERE date_column BETWEEN start_time AND end_time; ``` 其中,table_name是表名,date_column是时间列名,start_time和end_time时间段的起始时间和结束时间。 可以使用PreparedStatement对象执行上述SQL语句。例如: ``` String sql = "SELECT * FROM table_name WHERE date_column BETWEEN ? AND ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setTimestamp(1, start_time); pstmt.setTimestamp(2, end_time); ResultSet rs = pstmt.executeQuery(); ``` 其中,start_time和end_time时间段的起始时间和结束时间,使用setTimestamp()方法设置参数值。 4. 处理查询结果 执行SQL语句后,可以使用ResultSet对象处理查询结果。例如,可以使用以下代码输出查询结果: ``` while (rs.next()) { System.out.println(rs.getString("column_name")); } ``` 其中,column_name是列名,使用getString()方法获取该列的值。 5. 关闭连接 在查询操作完成后,需要关闭数据库连接。例如: ``` rs.close(); pstmt.close(); conn.close(); ``` 完整的JAVA代码如下: ``` Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; Connection conn = DriverManager.getConnection(url, user, password); String sql = "SELECT * FROM table_name WHERE date_column BETWEEN ? AND ?"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setTimestamp(1, start_time); pstmt.setTimestamp(2, end_time); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { System.out.println(rs.getString("column_name")); } rs.close(); pstmt.close(); conn.close(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值