where子句中的mysql用户定义变量日期类型

23c0lvtd  于 2021-06-18  发布在  Mysql
关注(0)|答案(0)|浏览(240)

我试图用mysql中的用户定义变量简化我的长查询。不幸的是,这些变量在where子句中的行为并不像预期的那样——尤其是存储在where的变量。以下是3个简化的查询:

SELECT id,
       @var_date := `date`
FROM   aroma_exchanges
WHERE  @var_date >= "2000-01-01"

返回0行
另一个:

SELECT id,
       @var_date := `date`
FROM   aroma_exchanges
WHERE  Str_to_date(@var_date, "%y-%m-%d") >= "2000-01-01"

这将同时返回0行。

SELECT id, 
       @var_date := `date` 
FROM   aroma_exchanges 
WHERE `date` >= "2000-01-01"

这个函数按预期工作,返回很多行。在我看来 date 是非常复杂的,在我的实际查询中,我使用过它几次,所以我不想重复同样的子查询5-10次,如果我可以将它存储到一个变量中,并根据需要使用它。问题:如何使第一个或第二个查询正常工作?谢谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题