INSERT 期间的 MSSQL 格式日期和时间
MSSQL format date and time during INSERT
如何在将日期和时间插入我的 MSSQL 查询时设置日期和时间的格式?
我知道之前有人问过这个问题,但我不确定为什么在将当前日期和时间插入到我的数据库时,我在理解如何格式化当前日期和时间时遇到了这么多麻烦。
最初以下 INSERT 查询有效,但现在 我想添加当前日期和时间,并将分钟作为最后一个字符。没有秒或毫秒
INSERT INTO Form_Submission (ID,Submission_Date,Status)
VALUES ('23', CURRENT_TIMESTAMP, 'Open');
我要找的格式是:2015-04-08 13:42
您可以像这样将 LEFT
和 CONVERT
与样式 120 一起使用
INSERT INTO Form_Submission (ID,Submission_Date,Status)
VALUES ('23', CONVERT(DATETIME,LEFT(CONVERT(VARCHAR(40),CURRENT_TIMESTAMP,120),16)), 'Open')
有关与 Convert
一起使用的不同样式的更多详细信息,请参阅 here
如果您尝试插入 DATETIME
或 SMALLDATETIME
字段,那么这将起作用:
CONVERT(SMALLDATETIME, GETDATE())
或 CONVERT(SMALLDATETIME, CURRENT_TIMESTAMP)
如果你愿意的话。
所以你的代码是:
INSERT INTO Form_Submission (ID,Submission_Date,Status)
VALUES ('23', CONVERT(SMALLDATETIME, GETDATE()), 'Open')
关键是你不应该在插入数据库时格式化日期和时间,你应该只在输出时(显示时)格式化它们。 SMALLDATETIME
提供您似乎想要的粒度级别(精确到最近的分钟)。
在此处查看 MSDN 文档:GETDATE and SMALLDATETIME
也许你可以使用FORMAT()
T-SQL函数:
INSERT INTO Form_Submission (ID,Submission_Date,Status)
VALUES ('23', FORMAT(CURRENT_TIMESTAMP, 'yyyy-MM-dd hh:mm'), 'Open')
如何在将日期和时间插入我的 MSSQL 查询时设置日期和时间的格式?
我知道之前有人问过这个问题,但我不确定为什么在将当前日期和时间插入到我的数据库时,我在理解如何格式化当前日期和时间时遇到了这么多麻烦。
最初以下 INSERT 查询有效,但现在 我想添加当前日期和时间,并将分钟作为最后一个字符。没有秒或毫秒
INSERT INTO Form_Submission (ID,Submission_Date,Status)
VALUES ('23', CURRENT_TIMESTAMP, 'Open');
我要找的格式是:2015-04-08 13:42
您可以像这样将 LEFT
和 CONVERT
与样式 120 一起使用
INSERT INTO Form_Submission (ID,Submission_Date,Status)
VALUES ('23', CONVERT(DATETIME,LEFT(CONVERT(VARCHAR(40),CURRENT_TIMESTAMP,120),16)), 'Open')
有关与 Convert
一起使用的不同样式的更多详细信息,请参阅 here
如果您尝试插入 DATETIME
或 SMALLDATETIME
字段,那么这将起作用:
CONVERT(SMALLDATETIME, GETDATE())
或 CONVERT(SMALLDATETIME, CURRENT_TIMESTAMP)
如果你愿意的话。
所以你的代码是:
INSERT INTO Form_Submission (ID,Submission_Date,Status)
VALUES ('23', CONVERT(SMALLDATETIME, GETDATE()), 'Open')
关键是你不应该在插入数据库时格式化日期和时间,你应该只在输出时(显示时)格式化它们。 SMALLDATETIME
提供您似乎想要的粒度级别(精确到最近的分钟)。
在此处查看 MSDN 文档:GETDATE and SMALLDATETIME
也许你可以使用FORMAT()
T-SQL函数:
INSERT INTO Form_Submission (ID,Submission_Date,Status)
VALUES ('23', FORMAT(CURRENT_TIMESTAMP, 'yyyy-MM-dd hh:mm'), 'Open')