sql server 2000转换日期时间以获取hhmm

sql server 2000转换日期时间以获取hhmm,sql,tsql,sql-server-2000,Sql,Tsql,Sql Server 2000,我正在使用 convert(varchar(20), getdate(), 112) 将getdate()转换为yyyymmdd格式(ISO格式),效果非常好。现在我需要做一些类似的事情来获得hhmm格式的时间。我怎样才能做到这一点 示例:下午12:10应该像1210,下午3:43应该像1543 SELECT REPLACE(CONVERT(varchar(5), GETDATE(), 108), ':', '') 如果不需要冒号,只需将其删除…不要只在小时中使用日期部分,在分钟中使用日期部

我正在使用

convert(varchar(20), getdate(), 112)
将getdate()转换为yyyymmdd格式(ISO格式),效果非常好。现在我需要做一些类似的事情来获得hhmm格式的时间。我怎样才能做到这一点

示例:下午12:10应该像1210,下午3:43应该像1543

SELECT REPLACE(CONVERT(varchar(5), GETDATE(), 108), ':', '')

如果不需要冒号,只需将其删除…

不要只在小时中使用日期部分,在分钟中使用日期部分,并将其连接起来,因为19:05将以195结尾。如果你走这条路线,你需要做类似的事情来处理分钟数:

右('0'+varchar(datepart(mi,getdate())),2)


在这一点上,它变得相当低效。

@MarcB-你建议我按小时计算日期部分,按分钟计算日期部分,然后按时间计算?这是军事时间。事实上,它需要更多的工作,以得到一个12小时的时钟了。您也可以使用8、14或114来获得相同的结果,而不是108。
SELECT REPLACE(CONVERT(CHAR(5),GETDATE(),108), ':', '')