在mysql数据库中关于日期时间字段的处理

在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";

		

	}



}


 

 

你可能感兴趣的:(mysql)