Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使sql select语句贯穿全年_Mysql - Fatal编程技术网

Mysql 使sql select语句贯穿全年

Mysql 使sql select语句贯穿全年,mysql,Mysql,我有一个sql select语句,如下所示: select * from orders where user_id = '1578' and delivery_fee = '2000' 我只想取今年(2017年)的日期,我有一个名为“created_at”的变量,它有这样的变量 2017-02-0312:00:00 select * from orders where user_id = '1578' and delivery_fee = '2000' and created_at LIK

我有一个sql select语句,如下所示:

select * from orders where user_id = '1578' and delivery_fee = '2000' 
我只想取今年(2017年)的日期,我有一个名为“created_at”的变量,它有这样的变量

2017-02-0312:00:00

select * from orders where user_id = '1578' and delivery_fee = '2000' and created_at LIKE 'date(Y)%'

但它不起作用,有人能帮忙吗?

你可以这样做:

select * from orders where user_id = '1578' and delivery_fee = '2000' and created_at > '2017-01-01 21:00:00'

如果订单是在2017年之后创建的,则将返回用户1578和送货费=2000的订单

select * from orders where user_id = '1578' and delivery_fee = '2000' and created_at > '2017-01-01 21:00:00'

将返回用户1578和送货费=2000的订单,订单在2017年之后创建,请尝试:

    SELECT * FROM orders WHERE user_id = '1578' AND delivery_fee = '2000' AND YEAR(`created_at`) = 2017
要了解的想法和资源:


更新 我假设创建的_是timestamp或DATETIME

SELECT * FROM `orders` WHERE user_id = '1578' AND delivery_fee = '2000' AND DATE_FORMAT(created_at, '%Y') = YEAR(CURDATE())

有关参考信息,请参见此处的对话:

请尝试以下内容:

    SELECT * FROM orders WHERE user_id = '1578' AND delivery_fee = '2000' AND YEAR(`created_at`) = 2017
要了解的想法和资源:


更新 我假设创建的_是timestamp或DATETIME

SELECT * FROM `orders` WHERE user_id = '1578' AND delivery_fee = '2000' AND DATE_FORMAT(created_at, '%Y') = YEAR(CURDATE())

有关参考信息,请参见此处的对话:

我能不能不放2017?所以我不必每年都改变它?这就是为什么我想写“Y”我能不能不写?所以我不必每年都改变它?这就是为什么我想把“Y”放在这里,我希望这一年是动态的,总是能捕捉到这一年。很简单,你可以使用串联,
。。。交付费='2000'并在>“+$year+”-01-01 21:00:00…”创建。
我希望年份是动态的,要始终捕获今年。简单地说,您可以使用串联,
。。。交付费='2000'和创建时间>“+$year+”-01-01 21:00:00…”
您是否使用datetime或varchars作为创建时间的数据类型?是的,我以前使用过,但在@SahilManchanda不起作用您是否使用datetime或varchars作为创建时间的数据类型?是的,我以前使用过,但在@SahilManchanda不起作用