将字段转换为日期给出日期时间值
Converting fields to date gives datetime values
上下文:
MariaDB 5.5.68.
我必须将包含日期的 VARCHAR 字段转换为常规格式的日期(如 DATE Format from MariaDb Documentation)。
以下是我的处理方式:
ALTER TABLE MYTABLE
ADD FORMATED_DATE DATE;
UPDATE MYTABLE
SET FORMATED_DATE = UNFORMATED_DATE ;
SELECT FORMATED_DATE, UNFORMATED_DATE
FROM MYTABLE
转换正常,但根据文档,FORMATED_DATE 字段对我来说更像是 DATETIME 而不是 DATE。这是否正常,因为我不想在应用程序中使用此字段处理这些日期的时间部分。
首先有两个日期列是没有意义的,因为它们显示相同的内容。
只有当您 select 数据并且您 不 将其保存在数据库中时,您才格式化日期。
原始数据仍然可以使用 date/time 函数,而第一个没有。
您可以使用DATE_FORMAT获取您想要和需要的任何格式的almoszt,所以请使用它并且不要在您的数据库中保存冗余数据
CREATE tABLe mytable (mydate date)
INSERT INTO mytable VALUES('2019-01-28')
SELECT DATE_FORMAT(mydate,'%d/%m/%Y') FROM mytable
| DATE_FORMAT(mydate,'%d/%m/%Y') |
| :----------------------------- |
| 28/01/2019 |
db<>fiddle here
你试过吗?
ALTER TABLE MYTABLE
ADD FORMATED_DATE DATE;
UPDATE MYTABLE
SET FORMATED_DATE = DATE_FORMAT(UNFORMATED_DATE, '%d/%m/%Y')
SELECT FORMATED_DATE, UNFORMATED_DATE
FROM MYTABLE
上下文:
MariaDB 5.5.68.
我必须将包含日期的 VARCHAR 字段转换为常规格式的日期(如 DATE Format from MariaDb Documentation)。
以下是我的处理方式:
ALTER TABLE MYTABLE
ADD FORMATED_DATE DATE;
UPDATE MYTABLE
SET FORMATED_DATE = UNFORMATED_DATE ;
SELECT FORMATED_DATE, UNFORMATED_DATE
FROM MYTABLE
转换正常,但根据文档,FORMATED_DATE 字段对我来说更像是 DATETIME 而不是 DATE。这是否正常,因为我不想在应用程序中使用此字段处理这些日期的时间部分。
首先有两个日期列是没有意义的,因为它们显示相同的内容。
只有当您 select 数据并且您 不 将其保存在数据库中时,您才格式化日期。
原始数据仍然可以使用 date/time 函数,而第一个没有。
您可以使用DATE_FORMAT获取您想要和需要的任何格式的almoszt,所以请使用它并且不要在您的数据库中保存冗余数据
CREATE tABLe mytable (mydate date)
INSERT INTO mytable VALUES('2019-01-28')
SELECT DATE_FORMAT(mydate,'%d/%m/%Y') FROM mytable
| DATE_FORMAT(mydate,'%d/%m/%Y') | | :----------------------------- | | 28/01/2019 |
db<>fiddle here
你试过吗?
ALTER TABLE MYTABLE
ADD FORMATED_DATE DATE;
UPDATE MYTABLE
SET FORMATED_DATE = DATE_FORMAT(UNFORMATED_DATE, '%d/%m/%Y')
SELECT FORMATED_DATE, UNFORMATED_DATE
FROM MYTABLE