如何插入指定格式的当前日期时间?求YYYYMMDD:HHMMSSS格式查询语句
如何插入格式为YYYYMMDD:HHMMSSS的当前日期时间?
嘿,这个问题得看你在用啥数据库哦——不同数据库的日期格式化函数差异还挺大的,我给你整理了几个常用数据库的实现方式,你按需取用:
MySQL
如果你的需求其实是YYYYMMDD:HHMMSS(秒为两位,这是更常见的格式,可能是笔误多打了一个S),用DATE_FORMAT结合NOW()就能轻松实现:
INSERT INTO your_table_name(datetime_column) VALUES(DATE_FORMAT(NOW(), '%Y%m%d:%H%i%s'));
如果确实需要YYYYMMDD:HHMMSSS(秒部分为三位,包含毫秒的前一位),可以用NOW(3)获取带毫秒精度的当前时间,再拼接格式化后的字符串:
INSERT INTO your_table_name(datetime_column) VALUES(CONCAT(DATE_FORMAT(NOW(3), '%Y%m%d:%H%i%s'), SUBSTRING(DATE_FORMAT(NOW(3), '%f'), 1, 1)));
PostgreSQL
针对YYYYMMDD:HHMMSS格式,用TO_CHAR函数处理CURRENT_TIMESTAMP即可:
INSERT INTO your_table_name(datetime_column) VALUES(TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMMDD:HH24MISS'));
如果要实现YYYYMMDD:HHMMSSS,可以拼接毫秒部分的第一位:
INSERT INTO your_table_name(datetime_column) VALUES(CONCAT(TO_CHAR(CURRENT_TIMESTAMP, 'YYYYMMDD:HH24MISS'), SUBSTRING(TO_CHAR(CURRENT_TIMESTAMP, 'MS'), 1, 1)));
SQL Server
对于YYYYMMDD:HHMMSS格式,使用FORMAT函数配合GETDATE():
INSERT INTO your_table_name(datetime_column) VALUES(FORMAT(GETDATE(), 'yyyyMMdd:HHmmss'));
如果需要YYYYMMDD:HHMMSSS,可以截取毫秒值的第一位来拼接:
INSERT INTO your_table_name(datetime_column) VALUES(CONCAT(FORMAT(GETDATE(), 'yyyyMMdd:HHmmss'), SUBSTRING(FORMAT(GETDATE(), 'fff'), 1, 1)));
小贴士:如果你的日期字段是DATETIME类型,其实不需要提前格式化存储——插入原始的日期时间值,后续查询时再格式化展示会更灵活。只有当你需要将其存储为字符串格式时,才用上面的语句哦。
内容的提问来源于stack exchange,提问作者Tirtha Roy Chowdhury
相关产品推荐
相关产品推荐

