[转帖]mysql - 使用文件中的 mysql 加载数据格式化 csv 日期列

mysql,使用,文件,加载,数据,格式化,csv,日期 · 浏览次数 : 0

小编点评

```sql LOAD DATA INFILE '/invoices/invoice1381301986.csv' INTO TABLE invoice_table FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\' (`code`,@var1) SET datefield= ( CASE WHEN @var1 REGEXP '[0-9]{2}/[0-9]{2}/[0-9]{4}' THEN STR_TO_DATE(@var1,'%m/%d/%Y') ... END )  ```

正文

https://www.coder.work/article/2481907#:~:text=LOAD%20DATA%20INFILE%20%27%2Finvoices%2Finvoice1381301986.csv%27%20INTO%20TABLE%20invoice_table%20FIELDS,BY%20%27n%27%20%28%60code%60%2C%40var1%29%20set%20datefield%3D%20STR_TO_DATE%20%28%40var1%2C%20%27%25m%2F%25d%2F%25Y%27%29%3B

 

我正在使用在文件查询中加载数据将 csv 插入表中。我必须在 csv 中格式化日期列,

LOAD DATA INFILE '/invoices/invoice1381301986.csv' INTO TABLE invoice_table FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (`code`,@var1)  set datefield=STR_TO_DATE(@var1, '%m/%d/%Y');

我可以使用上述查询格式化日期。

但问题是,我的 csv 日期列有不同的格式。可能的格式是“m/d/Y”、“m-d-Y”、“m/d/y”、“m-d-y”、“Y-m-d”、“Y/m/d”。

所以我的查询应该根据 csv 中的日期格式,这样我就可以像这样修改我的查询,

datefield=STR_TO_DATE(@var1, '%m/%d/%Y')

datefield=STR_TO_DATE(@var1, '%m-%d-%Y')..

如何读取 csv 日期字段的格式?

 

最佳答案

 

你需要使用一个CASE:

LOAD DATA INFILE '/invoices/invoice1381301986.csv' 
    INTO TABLE invoice_table 
    FIELDS TERMINATED BY ',' 
    ENCLOSED BY '"' 
    LINES TERMINATED BY '\n' 
    (`code`,@var1)  
    SET datefield= (
        CASE
            WHEN @var1 REGEXP '[0-9]{2}/[0-9]{2}/[0-9]{4}' THEN STR_TO_DATE(@var1,'%m/%d/%Y')
            ...
        END
    )

 

关于mysql - 使用文件中的 mysql 加载数据格式化 csv 日期列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19271955/

与[转帖]mysql - 使用文件中的 mysql 加载数据格式化 csv 日期列相似的内容:

[转帖]mysql - 使用文件中的 mysql 加载数据格式化 csv 日期列

https://www.coder.work/article/2481907#:~:text=LOAD%20DATA%20INFILE%20%27%2Finvoices%2Finvoice1381301986.csv%27%20INTO%20TABLE%20invoice_table%20FIELD

【转帖】MySQL索引

数据表如何用索引快速查找 索引是 排好序的快速查找的数据结构 索引存储在文件系统中 索引的文件存储形式与存储引擎有关 索引数据结构:可以是二叉树、红黑树、Hash表、B-Tree、B+Tree 1、二叉树 使用索引的如下图:(如果是使用二叉树结构)每一个节点都存放数据行的磁盘地址【快速定位到数据】

[转帖]Jmeter创建数据库(JDBC)测试-4

上一章节讲述如何建立HTTP请求测试,本章节将介绍使用MySQL数据库驱动程序进行JDBC测试。要使用该驱动程序,必须将其包含的.jar文件(例如mysql-connector-java-XXX-bin.jar)复制到JMeter 的lib目录下(也可以直接在测试计划中导入此jar包) 4.1 添加

[转帖]TiDB 使用 dumpling 导出数据,并使用 lightning 导入到另一个 TiDB 库

本文介绍从 TiDB-A 库导出数据到 TiDB-B 库; 导出 Dumpling 包含在 tidb-toolkit 安装包中,可在此下载。 从 TiDB/MySQL 导出数据 需要的权限 SELECTRELOADLOCK TABLESREPLICATION CLIENT 导出到 sql 文件 先贴

[转帖]MySQL命令执行sql文件的两种方法

使用命令执行 sql 脚本文件 方法一,在 Windows 下使用 cmd 命令执行(或Unix或Linux控制台下) 【Mysql的bin目录】mysql –u用户名 –p密码 –D数据库<【sql脚本文件路径全名】,示例: C:MySQLinmysql –uroot –p123456 -Dtes

[转帖]使用sysbench对MySQL进行压力测试

使用sysbench对MySQL进行压力测试 https://cloud.tencent.com/developer/article/2073561 1.背景 ​出自percona公司,是一款多线程系统压测工具,可以根据影响数据库服务器性能的各种因素来评估系统的性能。例如,可以用来测试文件IO,操作

[转帖]datax安装+配置+使用文档

1 DataX离线同步工具DataX3.0介绍 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS

[转帖]图文结合带你搞懂 MySQL 日志之 Slow Query Log(慢查询日志)

https://my.oschina.net/GreatSQL/blog/5719211 GreatSQL 社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。 GreatSQL 是 MySQL 的国产分支版本,使用上与 MySQL 一致。 作者:KAiTO 文章来源:GreatSQL 社区

[转帖]Mysql使用limit深度分页优化

https://www.cnblogs.com/jackssybin/p/16257505.html 1、背景: mysql使用select * limit offset, rows分页在深度分页的情况下。性能急剧下降。 例如:select * 的情况下直接⽤limit 600000,10 扫描的是

[转帖]MySQL该使用哪种CPU架构服务器?

https://www.cnblogs.com/zhoujinyi/p/16880861.html 1. 摘要 近期,阿里云推出基于 ARM 架构的 RDS MySQL 和 RDS PostgreSQL 实例,现处于邀测阶段,阿里云宣传 ARM 架构的亮点是:在价格下降13%的基础上,平均性能 AR