我是SQL新手。我通过ETL导入了多个CSV文件。有一个日期列,有些日期格式为mm-dd-yyyy,另外一些日期格式为mm/dd/yyyy。我知道如何得到如下的日,月和年的个人部分。从varchar列的MySql中创建日期部分
#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我刚更新了这个。谢谢 – Enthusiast