在 SQL 表中设置日期格式 dd/mm/yyyy

Posted

技术标签:

【中文标题】在 SQL 表中设置日期格式 dd/mm/yyyy【英文标题】:Set date format dd/mm/yyyy in SQL table 【发布时间】:2016-03-25 02:19:03 【问题描述】:

我想以 dd/mm/yyyy 格式将日期保存在我的数据库中,因为我想在 JTable (Java SE) 中导入包含它们的表,并且我想以这种格式显示它们。是否可以以这种格式直接将日期保存在我的数据库中,或者我必须以其他方式保存?我的数据库是用 SQL 编写的,我使用的是 mysql

【问题讨论】:

我建议你在mysql中用特定的Date类型保存日期。让java格式化日期。 最好将存储与展示分开。数据库将根据需要存储日期。您的前端是担心格式的最佳场所。 谢谢,我试试看。 【参考方案1】:

使用 DATE_FORMAT 函数更改 MySQL 中日期的格式。

 SELECT DATE_FORMAT(CURDATE(),'%d/%m/%Y')
 SELECT DATE_FORMAT(column_name,'%d/%m/%Y') # FROM tablename

详情请参阅documentation。

【讨论】:

【参考方案2】:

你做不到, 否则您必须使用 VARCHAR 或 CHAR,但不建议这样做。

将日期保存为 DATE 数据类型,格式为 yyyy-mm-dd。 不要惹它。

当您获取记录时,使用 DATE_FORMAT 函数将其转换为您的格式。 (如果你使用 MySQL)

喜欢

    SELECT DATE_FORMAT(CURDATE(), '%d-%m-%Y');

你的情况

    SELECT DATE_FORMAT(< your_date_field >, '%d-%m-%Y');

【讨论】:

【参考方案3】:

日期是日期。它不存在日期格式。

你可以获得的是一个从日期开始的特定格式的字符串。

请注意,格式可能不是dd/mm/yyyy,而是dd/MM/yyyy,因为mm 是几分钟,而不是几个月。

所以基本上你有两种可能性:

将日期保存为 Date 并将其检索为具有请求格式的字符串 将日期转换为字符串并将其保存为格式化字符串(例如 VARCHAR)

要在 MySql 中将日期转换为字符串,您可以使用函数DATE_FORMAT

如果您想在 java 中转换它们,您可以使用 SimpleDateFormat

【讨论】:

我认为使用 SimpleDateFormat 对我来说更好。谢谢!【参考方案4】:

不可能以指定的格式保存日期,但是您可以将该字段的类型设置为字符串(在 MySql varchar 中),您可以保存任何您想要的。

【讨论】:

以上是关于在 SQL 表中设置日期格式 dd/mm/yyyy的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Angular 2 中的 DatePipe 中设置语言环境?

Sql server 2008 强制日期从 dd/MM/yyyy 到 MM/dd/yyyy

如何在postgres中设置日期变量[重复]

SQL Server 格式日期 DD.MM.YYYY HH:MM:SS

PL SQL - 以 dd/mm/yyyy +1 格式添加日期

按日期时间格式化为 dd.MM.yyyy 的 SQL 顺序不正确