【发布时间】:2013-12-04 04:52:22
【问题描述】:
我想连接两个TIME 列并显示为一列。
例子:
- 从时间:9:00
- 到时间:12:00
结果应该是:
9:00-12:00
【问题讨论】:
-
'fromtime','totime'的数据类型是什么 -
什么 RDBMS ?这是给的吗?
标签: sql .net sql-server-2012
我想连接两个TIME 列并显示为一列。
例子:
结果应该是:
9:00-12:00
【问题讨论】:
'fromtime','totime'的数据类型是什么
标签: sql .net sql-server-2012
通用 SQL:
-- hh:mm:ss
SELECT 'result:' + CONVERT(CHAR(6), FromTime, 8) + '-' + CONVERT(CHAR(6), ToTime)
FROM yourTable
MySQL:
-- hh:mm
SELECT 'result:' + DATE_FORMAT(FromTime, '%H:%i') + '-' + DATE_FORMAT(ToTime, '%H:%i')
FROM yourTable
SQL 服务器:
-- hh:mm
SELECT 'result:' + convert(char(2), DATEPART(hh, FromTime)) + ':' +
CONVERT(CHAR(2), DATEPART(mm, FromTime)) + '-' +
CONVERT(CHAR(2), DATEPART(hh, ToTime)) + ':' +
CONVERT(CHAR(2), DATEPART(mm, ToTime))
FROM yourTable
【讨论】:
generic sql 当 OP 不提及 RDBMS 时我可以使用的最好的
declare @FromTime time
declare @ToTime time
set @FromTime='9:00'
set @ToTime='12:00'
select cast(@FromTime as varchar(10))+ '-' + cast(@ToTime as varchar(10)) as result
【讨论】:
你可以使用convert
select convert(VARCHAR(5),getdate(),108) + ' - ' + convert(VARCHAR(5),getdate()-1,108)
【讨论】: