Mysql:创建表时将DATETIME的格式设置为'DD-MM-YYYY HH:MM:SS'
Posted
技术标签:
【中文标题】Mysql:创建表时将DATETIME的格式设置为\'DD-MM-YYYY HH:MM:SS\'【英文标题】:Mysql: Setup the format of DATETIME to 'DD-MM-YYYY HH:MM:SS' when creating a tableMysql:创建表时将DATETIME的格式设置为'DD-MM-YYYY HH:MM:SS' 【发布时间】:2012-01-10 09:39:26 【问题描述】:在谷歌搜索之后,我找不到创建一个新表的方法,该表的默认格式设置为“DATETIME
”列,默认格式设置为“DD-MM-YYYY HH:MM:SS
”
我在phpmyadmin
看到了一个教程,所以我怀疑我可以通过命令行使用 mysql 并在使用
CREATE TABLE ()
提前谢谢你
【问题讨论】:
我不认为在创建表格时可以更改格式 【参考方案1】:“MySQL 以 'YYYY-MM-DD HH:MM:SS' 格式检索和显示 DATETIME 值。” 这是来自 mysql 网站。您只能存储此类型,但您可以在需要显示时使用众多时间格式函数之一来更改它。
Mysql Time and Date functions
例如,其中一个函数是DATE_FORMAT,可以这样使用:
SELECT DATE_FORMAT(column_name, '%m/%d/%Y %H:%i') FROM tablename
【讨论】:
要使用 PHP 的date()
函数获取当前日期时间,请使用 date("Y-m-d H:i:s")
。【参考方案2】:
使用 DATE_FORMAT 函数更改格式。
SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y')
SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename
更多详情请参考DOC
【讨论】:
【参考方案3】:正如其他人所解释的那样,这是不可能的,但这里有一个替代解决方案,它需要进行一些调整,但它的工作方式类似于 datetime 列。
我开始思考,如何才能让格式化成为可能。我有个主意。为它做触发器怎么样?我的意思是,添加类型为char
的列,然后使用 MySQL 触发器更新该列。那行得通!我做了一些与触发器相关的研究,最后想出了这些查询:
CREATE TRIGGER timestampper BEFORE INSERT ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
CREATE TRIGGER timestampper BEFORE UPDATE ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
您不能将TIMESTAMP
或DATETIME
用作列类型,因为它们有自己的格式,并且会自动更新。
所以,这是您的替代时间戳或日期时间替代方案!希望这会有所帮助,至少我很高兴我得到了这个工作。
【讨论】:
这个想法真是太棒了!但是,如果您要从文件中插入值怎么办?我的意思是这将如何处理LOAD DATA INFILE
查询?【参考方案4】:
我使用了以下代码行,它工作正常谢谢.... @Mithun Sasidharan **
SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename
**
【讨论】:
【参考方案5】:我很确定您不能更改 mysql 中的日期时间格式。 phpmyadmin 设置可能在读取日期时间时应用自定义格式(使用 DATE_FORMAT 或来自 php 的内容)。数据库使用什么格式无关紧要,应用程序中的格式可以根据需要显示。
日期格式化是一项非常常见的任务。我通常喜欢将其抽象为国际化代码,或者,如果您不需要处理 i18n,则将其抽象为通用日期实用程序库。它有助于使事情保持一致并使以后更容易更改(或添加 i18n 支持)。
【讨论】:
谢谢你的回答,我读到了 DATE_FORMAT 函数作为获取我想要的格式的一种方式。【参考方案6】:不,你不能; datetime 将仅在创建表时以默认格式存储,然后您可以使用 Mysql Date Time Functions 以您想要的方式更改 select
查询中的显示格式
【讨论】:
【参考方案7】:这不能为桌子做;此外,您甚至根本无法更改此默认值。
答案是一个服务器变量datetime_format,它没有被使用。
【讨论】:
【参考方案8】:Dim x as date
x = dr("appdate")
appdate = x.tostring("dd/MM/yyyy")
dr是datareader的变量
【讨论】:
【参考方案9】:试试这个:
DATE NOT NULL FORMAT 'YYYY-MM-DD'
【讨论】:
以上是关于Mysql:创建表时将DATETIME的格式设置为'DD-MM-YYYY HH:MM:SS'的主要内容,如果未能解决你的问题,请参考以下文章