我在互联网上搜索过,但找不到解决问题的方法。我的查询是这样的
SELECT users.id, SUBSTRING(posts.datestr, 4, 8)
FROM users, posts
WHERE posts.datestr='Jan-2014'
(上面的查询被缩短了)
posts.datestr 中的值实际上是 20-Jan-2014
,但我希望它是 Jan-2014
,但即使添加了 SUBSTRING
代码,它仍然以某种方式显示为 20-Jan-2014
。
知道我做错了什么吗?
谢谢!
最佳答案
您需要为 SUBSTRING
的结果添加别名,并在您的条件中使用该别名(下例中的 shortdate
)
由于您现在将在条件中使用别名,因此您不能使用 where
子句,但可以使用 having
子句
类似于:
SELECT users.id, SUBSTRING(posts.datestr, 4, 8) as shortdate
FROM users, posts
HAVING shortdate='Jan-2014'
关于带 WHERE 的 MySQL 子串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20898366/