我想連接兩個日期與他們的時代像下面的SQL Server 2008。事情是這樣的:連接兩個日期和它們的時間在SQL Server 2008
2015-09-09 08:30 - 2015-09-09 09:30
這個方法我試過,但沒有工作,我也使用了鑄造。這樣
2015-09-09 09:30:00:000
我想連接兩個日期與他們的時代像下面的SQL Server 2008。事情是這樣的:連接兩個日期和它們的時間在SQL Server 2008
2015-09-09 08:30 - 2015-09-09 09:30
這個方法我試過,但沒有工作,我也使用了鑄造。這樣
2015-09-09 09:30:00:000
CONVERT(CHAR(16), s.StartTime, 120) + '-' +
CONVERT(CHAR(16), s.EndTime, 120) AS OccupiedTime
感謝兄弟它的工作 –
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
您可以使用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的動作,請參閱給定的教程
爲什麼不使用格式120? – shawnt00