日期:2014-05-16 浏览次数:20586 次
在mysql数据库中关于日期时间字段的处理
在开发中,日期时间字段一般有如下几种设计
假设要获取2013-08-15日到2013-08-16日之间的记录
1. 直接使用日期时间类字段
相关sql语句如下
select * from cms_news where
news_add_time between str_to_date("2013-08-15 00:00:00",'%Y-%m-%d %H:%i:%s') and str_to_date("2013-08-16 23:59:59",'%Y-%m-%d %H:%i:%s')
order by news_add_time desc limit 1000
2. 使用long型的数字表示时间
select * from cms_news where 
news_add_time>=1376496000000 and news_add_time<=1376668799000
order by news_add_time desc limit 1000
package com.yanek.test;
public class DateTool {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		
		String startDate="2013-08-15";
		String enddate="2013-08-16";
		
		String s1="2013-08-27 00:00:00";
		String s2="2013-08-27 23:59:59";
		String sql = "select * from cms_news where news_time between str_to_date(\""+s1+"\",'%Y-%m-%d %H:%i:%s') and str_to_date(\""+s2+"\",'%Y-%m-%d %H:%i:%s') order by news_time asc limit 1000";
		
		long st1=1376496000000l;
		long st2=1376668799000l;
		String sql1 = "SELECT * FROM cms_news WHERE news_time >=" + st1 + " and lastmodified<="+st2+" ORDER BY news_time ASC LIMIT 100";
		
	}
}