2015-09-04 64 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的動作,請參閱給定的教程

相關問題