我只需要从 SQL 中的长时间格式 (hh:mm:ss) 获取小时和分钟 (hh:mm)。
CONVERT(char(5), SomeDateTimeValue, 108)
请参阅 MSDN 上的CAST 和 CONVERT
如果您在 MySQL 中有 TIME 格式的时间,则可以使用
SELECT TIME_FORMAT (time_column,"%H:%i") from table;
参考 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format
在 mysql 中你可以使用这个:
select time_format('12:34:44','%H:%i');
可以使用DATEPART transact sql函数msdn中的Datepart
您可以查看各种组合来实现您所需要的。
如果底层表示是 DATETIME,那么您可以尝试这个(通过调用
GETDATE()
进行模拟)。
SELECT DATEPART(hour, GETDATE()) AS MyHours,
DATEPART(minute, GETDATE()) AS MyMinutes
假设您的列名为 timeCol,这将起作用:
select RIGHT('00' + cast (DATEPART(hour,timeCol) as varchar(2)), 2) + ':' +
RIGHT('00' + cast (DATEPART(minute,timeCol) as varchar(2)), 2),
from ...
DATEPART 调用可获取小时和分钟,如果值只有一位数,则 RIGHT 会填充前导零。
这对我很有用:
SELECT SUBSTRING( convert(varchar, YourColumnName ,108),1,5) as 'StartDate'
FROM YourTableName