Iam*_*esh 34 mysql format command-line datetime create-table
谷歌搜索后,我找不到一种方法来创建一个新列表,其中DATETIME
列的默认格式设置为' DD-MM-YYYY HH:MM:SS
'
我看到了一个完成它的教程,phpmyadmin
所以我怀疑我可以通过命令行使用mysql并在创建新表时实现相同的功能
CREATE TABLE ()
Run Code Online (Sandbox Code Playgroud)
先感谢您
Mir*_*kov 56
"MySQL以'YYYY-MM-DD HH:MM:SS'格式检索并显示DATETIME值." 这是来自mysql网站.您只能存储此类型,但是当您需要显示它时,可以使用多种时间格式函数之一来更改它.
例如,其中一个函数是DATE_FORMAT,可以用来这样:
SELECT DATE_FORMAT(column_name, '%m/%d/%Y %H:%i') FROM tablename
Run Code Online (Sandbox Code Playgroud)
Mit*_*ran 16
使用DATE_FORMAT函数更改格式.
SELECT DATE_FORMAT(CURDATE(), '%d/%m/%Y')
SELECT DATE_FORMAT(column_name, '%d/%m/%Y') FROM tablename
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅DOC
正如其他人已经解释过这是不可能的,但这里是替代解决方案,它需要一点调整,但它的工作方式与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');
Run Code Online (Sandbox Code Playgroud)
CREATE TRIGGER timestampper BEFORE UPDATE ON table
FOR EACH
ROW SET NEW.timestamp = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%i:%s');
Run Code Online (Sandbox Code Playgroud)
您不能使用TIMESTAMP
或DATETIME
作为列类型,因为它们具有自己的格式,并且它们会自动更新.
所以,这是您的替代时间戳或日期时间替代方案!希望这有帮助,至少我很高兴我得到了这个工作.
小智 5
我使用了以下代码行,它工作正常,谢谢.... @Mithun Sasidharan**
SELECT DATE_FORMAT(column_name,'%d /%m /%Y')FROM tablename
**
归档时间: |
|
查看次数: |
320106 次 |
最近记录: |