我想连接两个日期与他们的时代像下面的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