在我的表「news」裏面有「date_in」字段存儲日期,當這個格式爲「20150108」時創建了一些新聞;如何僅從今年的mysql數據庫獲取數據
我需要獲得今年的新聞。
select title, text from news where date_in = ?
我該如何使用php/mysql來做到這一點?
感謝
在我的表「news」裏面有「date_in」字段存儲日期,當這個格式爲「20150108」時創建了一些新聞;如何僅從今年的mysql數據庫獲取數據
我需要獲得今年的新聞。
select title, text from news where date_in = ?
我該如何使用php/mysql來做到這一點?
感謝
您可以從給定的格式選擇爲低於上年。
mysql> select year('20150108');
+------------------+
| year('20150108') |
+------------------+
| 2015 |
+------------------+
1 row in set (0.00 sec)
所以在查詢您使用子今年篩選出可以
select
title,
text
from news
where year(date_in) = year(curdate());
它會幫助你Documentation Here
SELECT title, text FROM news WHERE YEAR(date_in) = YEAR(CURDATE());
它會幫助你
select title, text from news where YEAR(date_in) = YEAR(CURDATE())
嘗試,如果該date_in列類型爲nvarchar,VARCHAR等:
SELECT title, text
FROM news
WHERE date_in = SUBSTRING(date_in, 1, 4)
易於方法是用year()
:
select title, text
from news
where year(date_in) = year(now());
更好的方法是避免在當前日期使用函數。假設你已經沒有前途日期:
select title, text
from news
where date_in >= makedate(year(now(), 1);
這個版本更好,因爲查詢可以在date_in
採取指數的優勢。
首先,$ CurrentYear = date('Y'); //當年即2015年 然後,選擇標題,正文從新聞WHERE date_in LIKE '%$ CurrentYear%'
選擇標題,從新聞文本,其中date_in> 20150101
或$查詢=「選擇標題,來自新聞的文本where date_in>'。日期(「Y」)。 '0101';
首先,將列數據類型設置爲「DATE」,然後使用「YEAR()」mysql函數 – Ghost 2015-03-31 11:35:01
date_in字段的數據類型是什麼。 – 2015-03-31 11:35:15
看看[本教程](http://www.w3schools.com/php/php_mysql_connect.asp)。你的問題是相當廣泛的,取決於許多數據庫設置,只有你會有。 – 2015-03-31 11:36:02