2015-09-04 63 views

回答

3
CONVERT(CHAR(16), s.StartTime, 120) + '-' + 
CONVERT(CHAR(16), s.EndTime, 120) AS OccupiedTime 
+0

感谢兄弟它的工作 –

1

CONVERT(DATETIME, CONVERT(CHAR(8), S.StartTime, 112)+ '-' + CONVERT(CHAR(8), S.endtime, 108)) AS 'OccupiedTime' 

它显示的结果,您需要2份日 - 迄今只有+时间。你可以有2个字符串和将它们连接起来:

SELECT 
    REPLACE(CONVERT(VARCHAR(50),s.StartTime,103),'/','-') + ' ' + 
    CONVERT(VARCHAR(5),s.StartTime,114) + ' - ' + 
    REPLACE(CONVERT(VARCHAR(50),s.EndTime,103),'/','-') + ' ' + 
    CONVERT(VARCHAR(5),s.EndTime,114) AS OccupiedDateTime 

您可以快速检查它的外观采用:

SELECT 
    REPLACE(CONVERT(VARCHAR(50),GETDATE(),103),'/','-') + ' ' + 
    CONVERT(VARCHAR(5),GETDATE(),114) + ' - ' + 
    REPLACE(CONVERT(VARCHAR(50),GETDATE(),103),'/','-') + ' ' + 
    CONVERT(VARCHAR(5),GETDATE(),114) AS OccupiedDateTime 
1

您可以使用SQL转换功能和风格转换参数一起如下

declare @StartTime datetime = getdate() 
declare @EndTime datetime = getdate() 
select convert(varchar(16), @StartTime, 120) + ' - ' + convert(varchar(16), @EndTime, 120) 

如果您检查代码,我使用了varchar(16),它删除不需要的milllisecond信息af ter转换。 欲了解更多关于SQL Server Convert datetime function的动作,请参阅给定的教程

相关问题