我有一个MySQl数据库,它有一个表,其中包含一列,包含一周中的几天,如"周一"、"周二"等。
如何查询数据库并将此列内容与当前(系统)日期相匹配?
比如
select .... where tablename.columnname = systemday
谢谢。
尝试使用date_format(now(), "%a")
作为条件值。
点击此处阅读更多信息:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-格式化
你没有试过搜索吗?
不管怎样,我希望你想要这样的东西,
$cur_day=日期('D');
select .... where tablename.columnname = $cur_day;
WHERE tablename.columnname = substr(dayname(now()),1,3)
或
WHERE tablename.columnname = date_format(now(),'%a')
但是,请注意,它可能会受到区域设置的影响。
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_weekday
Returns the weekday index for date (0 = Monday, 1 = Tuesday, … 6 = Sunday).
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_dayofweek
Returns the weekday index for date (1 = Sunday, 2 = Monday, …, 7 = Saturday). These index values correspond to the ODBC standard.
示例:
SELECT * FROM mytable WHERE dayOfTheWeek=WEEKDAY(NOW())
此外,您还可以使用PHP的strftime
和date
函数:
$query1 = mysqli_query('SELECT * FROM mytable WHERE dayOfTheWeek="'.date('N').'"');
$query2 = mysqli_query('SELECT * FROM mytable WHERE dayOfTheWeek="'.strftime('%u').'"');
但是,我认为,最好只使用PHP生成。
<?php
$day=date('D');
$sql='select * from the_table where the_table.'.$day.'=systemday';
?>