在 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
SQL Server 格式日期 DD.MM.YYYY HH:MM:SS