t-sql 仅使用 NO SECONDS 将日期时间转换为时间

t-sql convert datetime to time only with NO SECONDS

有很多 t-sql CONVERT 字符串可以生成各种各样的日期和/或时间字符串。但是我找不到不需要日期和秒数的解决方案。

我们希望return 仅来自日期时间字段的时间,并消除秒数。秒数被截断或四舍五入都没有关系,但我们不需要显示秒数。

    desired results- from any DATETIME field
     10:00 AM
     11:00 AM
      4:59 PM

感谢任何和所有见解或建议!!

这样可以吗?

select CONVERT(varchar(15),CAST(GETDATE() AS TIME),100)

只需用您的日期变量更改 GETDATE()

试试这个:

SELECT LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100), 7))

将您的 DATETIME 字段改为 GETDATE()

如果你想要 space 那么上午/下午试试这个:

SELECT
Left(CONVERT(varchar(15),CAST(GETDATE() AS TIME),100),(len(CONVERT(varchar(15),CAST(GETDATE()  AS TIME),100))-2)) +' ' +  right((CONVERT(varchar(15),CAST(GETDATE()  AS TIME),100)),2) as NiceTimeAMPm

美好时光
7:35上午

下午 3:00