萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql日期時間比較簡單實例

mysql日期時間比較簡單實例

日期比較,mysql  代碼如下 復制代碼

select * from tb where c> date_format('2007-07-06','%Y%m%d') and c <= date_format('2007-07-09','%Y%m%d');

select * from tb where c> date('2007-07-07') and c< date('2007-07-09')


STATDAY是形如2006031001的日期數據字段

 代碼如下 復制代碼

select * from LOGINSTAT where STATDAY> date_format(curdate()-1,'%Y%m%d') and STATDAY >= date_format(curdate(),'%Y%m%d');或者:select * from LOGINSTAT where STATDAY> date_format(curdate()-1,'%Y%m%d%H') and STATDAY >= date_format(curdate(),'%Y%m%d%H');


其他用法:

 代碼如下 復制代碼

select * from LOGINSTAT where STATDAY >= date_format('$date1','%Y%m%d%H') and STATDAY < date_format('$date','%Y%m%d%H')

   
mysql數據庫中存的時間格式為2008-12-28 18:08:08,現在先要從一個一個結果集rs中獲得一個日期時間。我先用rs.getDate()方法試著獲取時間,結果只有年月日,無法獲取小時、分和秒。最後解決的方法是:

 代碼如下 復制代碼

Date time1=new Date(rs.getTimestamp("pub_time").getTime());
SimpleDateFormat formattime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String pubtime=formatime.format(time1);

獲得的pubtime為String型,在sql語句中用mysql的時間函數date_format('time','format')轉換:

 代碼如下 復制代碼

String sqlstr="select * from do_document where pub_time<date_format('"+pubtime+"','%Y-%m-%d %H:%i:%s') order by pub_time desc limit 0,1";

然後執行該sql語句就查到了滿足條件的記錄

copyright © 萬盛學電腦網 all rights reserved