【发布时间】:2020-02-24 19:20:52
【问题描述】:
我正在学校做 SQL 作业。 DATE 对我来说有问题。 有一个查询。
INSERT INTO myTable (t_id, Birthdate) VALUES (1, TO_DATE('01-Jun-2005','dd-mm-yyyy'));
INSERT INTO myTable (t_id, Birthdate) VALUES (2, TO_DATE('04-Apr-2002','dd-mm-yyyy'));
INSERT INTO myTable (t_id, Birthdate) VALUES (3, TO_DATE('21-Mar-2004','dd-mm-yyyy'));
INSERT INTO myTable (t_id, Birthdate) VALUES (4, TO_DATE('05-Dec-2002','dd-mm-yyyy'));
INSERT INTO myTable (t_id, Birthdate) VALUES (5, TO_DATE('13-Sep-2003','dd-mm-yyyy'));
我想获取 t_id,其中 YEAR 是 2002。我尝试了以下代码,
SELECT t_id FROM myTable WHERE YEAR(Birthdate) = '2002';
但它给了我语法错误。我在互联网上搜索了它。它说 YEAR 仅适用于 'yyyy-mm-dd' 格式。但是,在我的作业问题上,格式为“dd-mm-yyyy”。 我该如何回答我的问题?请帮助我摆脱这个地狱。
【问题讨论】:
-
如果您标记您的 RDMS 产品,我们不再猜测了。SQL 只是本网站上的标准语言规范。
-
但是
TO_DATE(..)建议您使用 Oracle 数据库或 PostgreSQL 作为 RDMS?
标签: sql date select where-clause to-date