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 日期列的更多相关文章

  1. vue 中监测滚动条加载数据(懒加载数据)

    vue 中监测滚动条加载数据(懒加载数据) 1:钩子函数监听滚动事件: mounted () { this.$nextTick(function () { window.addEventListene ...

  2. Android中ListView分页加载数据

    public class MainActivity extends Activity { private ListView listView=null; //listview的数据填充器 privat ...

  3. android 中使用缓存加载数据

    最近app快完工了,但是很多列表加载,新闻咨询等数据一直从网络请求,速度很慢,影响用户体验,所以寻思用缓存来加载一些更新要求不太高的数据 废话不多说,上代码 欢迎转载,但请保留文章原始出处:)  博客 ...

  4. 新手教程:不写JS,在MIP页中实现异步加载数据

    从需求谈起:在 MIP 页中异步加载数据 MIP(移动网页加速器) 的 加速原理 除了靠谱的 MIP-Cache CDN 加速外,最值得一提的就是组件系统.所有 JS 交互都需要使用 MIP 组件实现 ...

  5. MVP+RXJAVA+RecyclerView实现sd卡根目录下的所有文件中的照片加载并显示

    初学Rxjava,目前只能遍历加载指定目录下的所有文件夹中的照片,文件夹中如果还嵌套有文件夹目前还没找到实现方法. 先看mvp目录结构: 很抱歉,没有model. 接下来是view层的接口代码和pre ...

  6. Android中ListView异步加载数据

    1.主Activity public class MainActivity extends Activity { private ListView listView; private ArrayLis ...

  7. Android中ListView动态加载数据

    1. 引言: 为了提高ListView的效率和应用程序的性能,在Android应用程序中不应该一次性加载ListView所要显示的全部信息,而是采取分批加载策略,随着用户的滑动,动态的从后台加载所需的 ...

  8. 详解web.xml中元素的加载顺序

    一.背景 最近在项目中遇到了启动时出现加载service注解注入失败的问题,后来经过不懈努力发现了是因为web.xml配置文件中的元素加载顺序导致的,那么就抽空研究了以下tomcat在启动时web.x ...

  9. Android中的分页加载

    //----------------------MainActivity中--------------------------------------------------- package com ...

  10. 在my.ini文件中配置mysql统一字符集

    测试的mysql版本为:5.7.14 查看mysql字符集命令: show variables like 'character_set_%'; 以下是在my.ini文件中配置mysql统一字符集参数: ...

随机推荐

  1. shutdown详解

    linux下shutdown命令详解 shutdown命令安全地将系统关机. 有些用户会使用直接断掉电源的方式来关闭linux,这是十分危险的.因为linux与windows不同,其后台运行着许多进程 ...

  2. CSS3学习笔记-文字特效

    CSS3中提供了许多有趣和实用的文字特效,可以让我们的文本内容更加生动有趣,下面介绍一些常用的文字特效. 文本阴影 使用text-shadow属性可以为文本添加阴影效果,语法如下: text-shad ...

  3. NebulaGraph实战:1-NebulaGraph安装和基础操作

      以前使用Neo4j图数据库,考虑到生产环境需要最终选择了NebulaGraph图数据库.对于数据要求比较高的领域,比如医疗.财务等,暂时还是离不开知识图谱的.后面主要围绕LLM+KG做一些行业解决 ...

  4. vue2升级vue3:webpack vue-loader 打包配置

    如果没有啥特别的需求还是推荐vue-cli! vite  vue3 TSX项目 虽然vite 很香,但是vite  rollup 动态加载,多页面 等问题比较难搞 vite的缺点 wepback  _ ...

  5. TS数据类型:从C++/Java/Python到TS看元组tuple—元组的来龙去脉

    在C++有Java这种强类型语言中,常用的Array.List.Set ,在集合中只能是一种类型(可以复习下:<再谈Java数据结构-分析底层实现与应用注意事项). int data[] = n ...

  6. gitblit 不使用远程头像的方法

    gitblit 安装非常简单,使用也很方便,由于我初次使用,遇到一个小问题,头像加载不出来,很影响系统的速度,网上找了很久,终于找到了解决办法. 1.仓库分组:创建仓库设定名称时录入:groupNam ...

  7. Spring Boot 接口返回文件流

    import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.Resource; ...

  8. Java实现压缩文件浅谈

    背景: 在Java中,可以使用java.util.zip包提供的类来进行文件的压缩和解压缩操作.主要涉及的类有ZipOutputStream.ZipEntry.ZipInputStream和Infla ...

  9. Grafana-安装饼状图

    官网:https://grafana.com/grafana/plugins/grafana-piechart-panel/?tab=installation 使用grafana-cli直接安装 [r ...

  10. 创建QUERY报表

    一.SQ02创建信息集 该事务代码用于查询需要的表,及表之间的关联关系 首先设置查询区域,标准区域中所建立的信息集仅在当前客户端使用,全局区域中建立的信息集可以跨client 创建信息集 选择基础表关 ...