如果你操作数据库时想通过时间加以限制,那么请以这样的形式存储时间:year-month-day hour:minute:second,给一个linux下的存储方法:void *gettime(char name[])
{
struct tm *p;
//char name[512];
char c[5];
time_t t;
t=time(NULL);
p=localtime(&t);
sprintf(c,"%d",1900+p->tm_year);
strcat(name,c);
strcat(name,"-");
if(1+p->tm_mon<10)
strcat(name,"0");
sprintf(c,"%d",1+p->tm_mon);
strcat(name,c);
strcat(name,"-");
if(p->tm_mday<10)
strcat(name,"0");
sprintf(c,"%d",p->tm_mday);
strcat(name,c);
strcat(name," ");
if (p->tm_hour<10)
strcat(name,"0");
sprintf(c,"%d",p->tm_hour);
strcat (name,c);
strcat(name,":");
if(p->tm_min<10)
strcat(name,"0");
sprintf(c,"%d",p->tm_min);
strcat(name,c);
strcat(name,":");
if(p->tm_sec<10)
strcat(name ,"0");
sprintf(c,"%d",p->tm_sec);
strcat(name,c);
printf("current time is:%s\n",name);
}
时间被转换成了字符串,然后存储到数据库里,之后如果想查某个时间之前的,或者某个时间之后的,或者某个时间区间,那么就要再次将字符串转换成时间,两个函数to_days,str_to_date。
(1)to_days
就像它的名字一样,它只能转换到每一天,就是说一天的时间字符串会被转换成一个数,如
mysql> select to_days('2010-11-22 14:39:51');
+--------------------------------+
| to_days('2010-11-22 14:39:51') | +--------------------------------+ | 734463 | +--------------------------------+
mysql> select to_days('2010-11-23 14:39:51'); +--------------------------------+ | to_days('2010-11-23 14:39:51') | +--------------------------------+ | 734464 | +--------------------------------+
可以看出22日与23日的差别就是,转换之后的数增加了1,这个粒度的查询是比较粗糙的,可能不能满足我们的查询要求,那么就引入细粒度的查询方法str_to_date。
(2)str_to_date
这个函数可以把字符串时间完全的翻译过来,就很好用了。
mysql> select str_to_date("2010-11-23 14:39:51",'%Y-%m-%d %H:%i:%s');
+--------------------------------------------------------+
| str_to_date("2010-11-23 14:39:51",'%Y-%m-%d %H:%i:%s') |
+--------------------------------------------------------+
| 2010-11-23 14:39:51 |
+--------------------------------------------------------+
我针对自己的数据库的一个查询操作
select str_to_date(detectResult.`rcvDetectTime`,'%Y-%m-%d %H:%i:%s') from detectResult where str_to_date(detectResult.`rcvDetectTime`,'%Y-%m-%d %H:%i:%s')>='2010-11-22 14:49:52' and str_to_date(detectResult.`rcvDetectTime`,'%Y-%m-%d %H:%i:%s')<='2010-11-22 15:27:52'
看一下结果吧
+---------------------------------------------------------------+ | str_to_date(detectResult.`rcvDetectTime`,'%Y-%m-%d %H:%i:%s') | +---------------------------------------------------------------+ | 2010-11-22 14:50:31 | | 2010-11-22 14:51:51 | | 2010-11-22 14:53:11 | | 2010-11-22 14:54:31 | | 2010-11-22 14:55:51 | | 2010-11-22 14:57:11 | | 2010-11-22 14:58:31 | | 2010-11-22 14:59:51 | | 2010-11-22 15:01:11 | | 2010-11-22 15:02:31 | | 2010-11-22 15:03:51 | | 2010-11-22 15:05:11 | | 2010-11-22 15:06:31 | | 2010-11-22 15:07:51 | | 2010-11-22 15:09:11 | | 2010-11-22 15:10:31 | | 2010-11-22 15:11:51 | | 2010-11-22 15:13:12 | | 2010-11-22 15:14:32 | | 2010-11-22 15:15:52 | | 2010-11-22 15:17:12 | | 2010-11-22 15:18:32 | | 2010-11-22 15:19:52 | | 2010-11-22 15:21:12 | | 2010-11-22 15:22:32 | | 2010-11-22 15:23:52 | | 2010-11-22 15:25:12 | | 2010-11-22 15:26:32 | | 2010-11-22 15:27:52 | +---------------------------------------------------------------+
这样就可以按照时间进行查询了,对于实验结果的分析方便了很多。
分享到:
相关推荐
Oracle 中的 TO_DATE 和 TO_CHAR 函数 oracle 中 TO_DATE 函数的时间格式,以 2008-09-10 234556 为例
MySQL mysql_query 函数执行 SQL 语句 mysql_query() 函数是 PHP MySQL 函数库中的一种函数,用于向 MySQL 发送并执行 SQL 语句。该函数可以对数据库进行增删改查等操作,並返回执行结果。 参数说明: * query:...
资源来自pypi官网。 资源全名:pandas_upsert_to_mysql-0.0.3.tar.gz
MySQL数据库函数手册,私家珍藏,经验积累
组长告知我可以使用该函数,就去进行了了解与使用. 语法 FIND_IN_SET(str,strlist) 定义 假如字符串str在由多个子链组成的字符串列表strlist中,则返回值的范围在1到N之间。 一个字符串列表就是一个由一些被‘,...
php实现将excel表格导入到mysql数据库中
MySQL mysql_fetch_array 函数取得查询结果中的一行作.docx
mysql函数之date_sub函数 - 副本
主要介绍了MySQL的时间差函数(TIMESTAMPDIFF、DATEDIFF)、日期转换计算函数(date_add、day、date_format、str_to_date),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...
mysql_generate_series是PostgreSQL函数MySQL版本。 该版本(原始版本)经过(大量)改编,并试图简化方法调用,并在可能的情况下使MySQL版本参数遵循PostgreSQL版本。 它提供了一个单一的方法generate_series...
本文实例讲述了php提示Warning mysql_...mysql_fetch_array()函数导致的,下面我们一起来看问题解决方案,我的代码如下: 复制代码 代码如下:include(“conn.php”); if(!empty($_GET[‘id’])){ $sql=”select * fr
下面的查询选择了所有记录,其date_col的值是在最后30天以内: mysql> SELECT something FROM table WHERE TO_DAYS(NOW()) – TO_DAYS(date_col) <= 30; DAYOFWEEK(date) 返回日期date的星期索引(1=星期天,2=...
MySQL中文参考手册,详细介绍了MySQL的使用方法和函数这些方面的问题
SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)), '%Y')+0 AS age 方法一,作者也说出了缺陷,就是当日期为未来日期时结果为0,而不是负数;这里使用了5个函数和两个运算符。 方法二 SELECT DATE...
MYSQL_MSS_ORACLE函数使如果结果的长度大于服务器参数max_allowed_packet,字符串值函数返回NULL. 对于针对字符串位置的操作,第一个位置被标记为1. 1、ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果...
How to connect with VB to Mysql database
在mysql中使用SELECT STR_TO_DATE()函数将字符串日期转为日期型: SELECT STR_TO_DATE('2012~8~8 14.58.09','%Y~%m~%d %k.%i.%s' ); STR_TO_DATE('2012-8-8 14:58:09','%Y-%m-%d %k:%i:%s' ) A;;STR_TO_DATE('...
18.TO_DAYS(date) 19.FROM_DAYS(N) 20.DATE_FORMAT(date,format) 21.TIME_FORMAT(time,format) 22.CURDATE() 23.CURTIME() 24.SYSDATE() 25.UNIX_TIMESTAMP() UNIX_TIMESTAMP(date) 26.FROM_UNIXTIME(unix_timestamp...
C#访问mysql数据库,对数据库进行增删改查
银河麒麟_飞腾_MYSQL 离线安装包,亲测可以使用