如何在SQL存储过程中获取特定的时间格式

How to get specific time format in SQL Stored procedure

在我的数据库中,我必须根据最后修改日期字段执行 CRUD 操作。

DateLastModified

2021-09-09 16:46:05.670
....

在我的 SP 中,我使用 getdate() 函数获取日期,但它显示的日期类似于这样

set  @TodayDate = getdate()
May 17 2022  3:04PM

如何获取如下所示格式的日期?

2022-05-17 15:04:00.113

您正在寻找这个:

select convert(varchar(23), getdate(), 21)

查看参考资料: https://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/#:~:text=How%20to%20get%20different%20date%20formats%20in%20SQL,use%20this%20T-SQL%20syntax%20SELECT%20CONVERT%28varchar%2C%20getdate%28%29%2C%2023%29

在您的程序中使用 SELECT 而不是 PRINT

PRINT 使用特定样式 (0 IIRC) 将 date/time 隐式转换为字符串。样式编号的完整列表记录在案 here.

SELECT 没有这样的恶作剧——它将原始数据类型发送给客户端,尽管客户端仍然可以自由地以任何它喜欢的方式呈现它。 SSMS 恰好会按照您希望的方式呈现 datetime 值(恰好是样式 21 / 121)。