在我的桌子内"新闻"有" date_in"以这种格式创建某些新闻的字段存储日期" 20150108&#34 ;;
我需要获得当年的新闻。
select title, text from news where date_in = ?
如何使用php / mysql执行此操作?
由于
答案 0 :(得分:1)
它会帮助你Documentation Here
SELECT title, text FROM news WHERE YEAR(date_in) = YEAR(CURDATE());
答案 1 :(得分:1)
它会帮助你
select title, text from news where YEAR(date_in) = YEAR(CURDATE())
答案 2 :(得分:1)
您可以从给定的格式中选择以下年份。
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());
答案 3 :(得分:1)
简单的方法是使用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
上的索引。
答案 4 :(得分:0)
如果date_in列的类型为nvarchar,varchar等,请尝试使用substring过滤年份:
SELECT title, text
FROM news
WHERE date_in = SUBSTRING(date_in, 1, 4)
答案 5 :(得分:0)
首先,$ CurrentYear = date('Y'); //本年度即2015年 然后,SELECT标题,文本FROM news WHERE date_in LIKE'%$ CurrentYear%'
答案 6 :(得分:0)
从新闻中选择标题,文字,其中date_in> 20150101
或$ query ='选择标题,来自新闻的文字,其中date_in> '。日期(“Y”)。 '0101';