繁体   English   中英

如何将 SQL 日期格式更改为:2021 年 6 月 12 日。(例如)

[英]How can i change SQL date format to: 12th Jun 2021. (as example)

所以,我试图从 .csv 文件插入数据,但由于我使用的日期格式 - 导入导致它设置为 00-00-0000

导入设置:格式 - CSV 使用加载数据(否则会导致错误和导入失败) 具体格式选项:无

导入后收到的错误:

  • 列数据被截断... my_date 设置为 0000-00-00,即使使用“DD/MMM/yyyy”日期格式,

我的 csv 文件结构:(以防万一我需要使用特定格式)

名称;1;2021 年 1 月 1 日;2021 年 1 月 2 日;;;;;;;;;;;;;

从技术上讲,我可以手动将其格式化为 12 jun 2021 / 12.06.2021 / 12/06/2021 但我想避免这种情况。

对不起,如果这是一个愚蠢的问题并且答案很简单,但我不知道如何解决它。 :)

我已经尝试过了,但仍然一无所获。

SET lc_time_names = 'en_US';
select date_format(my_date, 'DD MMM yyyy') FROM table1;
select date_format(my_date, 'DD/MMM/yyyy') FROM table1;

也许您应该将日期列导入为文本数据类型,然后再进行转换:请按照以下步骤操作:

导入向导

导入向导

然后更新您的列:

UPDATE myimport
SET StartDate = STR_TO_DATE(StartDate,'%D %b %Y');
UPDATE myimport
SET FinishDate = STR_TO_DATE(FinishDate,'%D %b %Y');

然后将数据类型更改为日期(或最好是日期时间):

ALTER TABLE myimport
MODIFY COLUMN StartDate DATE, 
MODIFY COLUMN FinishDate DATE;

如果我们检查数据,

mysql> SELECT * FROM myimport;
+------+------+------------+------------+
| name | Row  | StartDate  | FinishDate |
+------+------+------------+------------+
| name |    1 | 2021-01-01 | 2021-01-02 |
+------+------+------------+------------+
1 row in set (0.00 sec)

如果我们检查数据类型以确保它是日期:

SHOW CREATE TABLE myimport;
+----------+------------------------------------------------------
| Table    | Create Table                                                                                                                                                                                            |
+----------+------------------------------------------------------
| myimport | CREATE TABLE `myimport` (
  `name` text,
  `Row` int DEFAULT NULL,
  `StartDate` date DEFAULT NULL,
  `FinishDate` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
+----------+------------------------------------------------------
1 row in set (0.00 sec)

您可以转换并使用以下查询来转换日期。

select date_format(`created_at`, '%D %b %Y') FROM product_attributes;

查询结果请看这张图。

您可以使用此 SQL 查询来查看数据库表查询和插入查询,并以此作为参考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM