十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
查询2011的数据:select
创新互联是专业的景谷网站建设公司,景谷接单;提供成都网站建设、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行景谷网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
*
from
表
where
year(date)='2011';
查找月份为12的数据:select
*
from
表
where
month(date)='12';
查找天数为本年第二天的数据:select
*
from
表
where
dayofyear(date)='2';
我解释一下:
select
*
from
表
where
这是必须的
year,month,dayofyear是mysql的函数,分别是取得年,月,和当前时间在本年是第几天的3个函数
date就是你保存时间的字段
等号后面的当然条件啦。
1.首先,把读取出来的值转换成DateTime类型,因为字符串不能比较大小
DateTime dTimeDB1 = Convert.todateTime(数据库中的值);
DateTime dTimeDB2 = Convert.todateTime(数据库中的值);
2.然后,再进行比较
使用比较方法:
if(DateTime.Compare(dTimeDB1 ,dTimeDB2) 0)
说明:dTimeDB1 dTimeDB2即dTimeDB1 是晚于dTimeDB2的时间
当然也可以不使用比较方法,而直接比较时间大小,就像比较数值一样
MYSQL有日期函数now(),这个值返回的不是时间戳,而是类似2010-10-1 12:12:12类似的,
PHP有日期函数date(),date("Y-m-d",time())返回当前的时间,如果单纯用time(),则返回的是当前时间,比方说17等数字
MYSQL日期比较
TO_DAYS(NOW()) - TO_DAYS(date_col) = 30;
我们的date_col必须是日期时间格式,而不能是时间戳,
mysql SELECT
FROM_UNIXTIME(875996580);
- '1997-10-04 22:23:00'
day(FROM_UNIXTIME(1277709862))这个返回的是某个时间戳到现在经过的天数
获取
日:day(FROM_UNIXTIME(add_time))
获取 月:month(FROM_UNIXTIME(add_time))
获取
年:year(FROM_UNIXTIME(add_time))
sql文里面获得时间戳后格式化为日,月,年:day(now()),month(now()),year(now())
其中add_time是字段名,存放格式为linux时间戳.
mysql set @a = unix_timestamp();
Query OK, 0 rows affected (0.00 sec)
mysql select @a;
+------------+
| @a |
+------------+
| 1154942084 |
+------------+
1 row in set (0.00 sec)
mysql select
from_unixtime(@a);
+---------------------+
| from_unixtime(@a) |
+---------------------+
| 2006-08-07 17:14:44 |
+---------------------+
1 row in set (0.00 sec)