【问题标题】:Sequel Pro: How to change a string to a date during import?Sequel Pro:如何在导入期间将字符串更改为日期?
【发布时间】:2017-04-10 04:11:00
【问题描述】:

我正在尝试使用 Sequel Pro 将 CSV 文件导入 MySQL 表。

我知道我需要使用 STR_TO_DATE,但我想不出正确的语法。我试过这种语法STR_TO_DATE(@$1, '%d/%m/%y') 不起作用。

CSV 文件格式

Date Created, Date Modified
07/10/16,02/02/17,
07/10/16,,
07/10/16,,
07/10/16,,
07/10/16,23/01/17,

表架构

CREATE TABLE `date` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `Date Created` date NOT NULL,
  `Date Updated` date DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;


  1. 文件 > 导入。文件出现,CSV 中的日期字段是第 1 行:

  1. 选择日期 > 添加表达式

  1. 最终导入视图

  1. 错误

表达式返回 STR_TO_DATE(@$1, '%d/%m/%y') NULL 但我不知道为什么?

【问题讨论】:

    标签: mysql string date import sequelpro


    【解决方案1】:

    对表达式稍作改动即可解决问题。

    我添加了一个检查来查找空字符串,而不仅仅是将字符串转换为日期。

    IF($2='', null, STR_TO_DATE($2, '%d/%m/%Y'))

    【讨论】:

      猜你喜欢
      • 2015-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 2017-06-07
      • 2021-11-18
      • 2017-04-08
      相关资源
      最近更新 更多