Mysql 修改查询以仅返回在特定年份加入的用户
我正在为大学做一个练习,任何时候我进入比现在更远的地方,根据之前的查询,带解释的红色x不允许我继续 问题是 修改查询,使其仅返回2020年加入的用户。按用户加入日期列出用户 我试过的代码是:Mysql 修改查询以仅返回在特定年份加入的用户,mysql,mysql-workbench,Mysql,Mysql Workbench,我正在为大学做一个练习,任何时候我进入比现在更远的地方,根据之前的查询,带解释的红色x不允许我继续 问题是 修改查询,使其仅返回2020年加入的用户。按用户加入日期列出用户 我试过的代码是: SELECT sname, fname, username, cast(datejoined as date) as datejoined from user Order by sname, datejoined; 我想我必须把整个日期改为一年,但我不知道怎么做——有人有什么建议吗??谢谢 您可以在
SELECT sname, fname, username,
cast(datejoined as date) as datejoined from user
Order by sname, datejoined;
我想我必须把整个日期改为一年,但我不知道怎么做——有人有什么建议吗??谢谢 您可以在MySQL中使用日期列的
年份
但是为什么要将其强制转换为DATE、另存为DATE或datetime,并且可以使用该列而不强制转换它呢
sname | fname |用户名| datejoined
:---- | :---- | :------- | :---------
a | b | c | 2021-01-01
dbfiddle您至少需要使用WHERE
子句。您将在中找到有用的信息
CREATE TABLE user(sname varchar(50),fname varchar(50),username varchar(50),datejoined varchar(19))
INSERT INTO user VALUEs ('a','b','c','2021-01-01'),('a1','b1','c1','2020-01-01')
SELECT sname, fname, username,
cast(datejoined as date) as datejoined from user
HAVING YEAR(datejoined) = 2021
Order by sname, datejoined;
sname | fname | username | datejoined
:---- | :---- | :------- | :---------
a | b | c | 2021-01-01