【发布时间】:2016-09-12 06:27:54
【问题描述】:
我是 SQL 新手。我通过 ETL 导入了多个 CSV 文件。有一个日期列,一些日期格式为 mm-dd-yyyy,另一些日期格式为 mm/dd/yyyy。我知道如何获取日、月和年的各个部分,如下所示。
#month
SELECT mid(My_Date,1,2) as Month_ FROM rl_transactional.mydb;
#day
SELECT mid(My_Date,4,2) as Day_ FROM rl_transactional.mydb;
#year
SELECT mid(My_Date,7,4) as Year_ FROM rl_transactional.mydb;
我想连接所有三个组件以获得日期。当我运行查询时
select CAST(
(SELECT mid(My_Date,7,4) FROM rl_transactional.mydb) + '-'
+ (int, SELECT mid(My_Date,1,2) FROM rl_transactional.mydb) + '-'
+ (int, SELECT mid(My_Date,4,2) FROM rl_transactional.mydb)
AS DATETIME)
它给了我错误
Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'int, SELECT mid(My_Date,1,2) FROM rl_transactional.mydb) + '-' + (int, SELECT mi' at line 1
谢谢!
【问题讨论】:
-
你在有趣的部分开始的地方切断了你的错误信息
-
H @juergend 我刚刚更新了这个。谢谢