SQL Server时间数据类型与格式

时间:2018-10-07 23:26:39

标签: sql-server-2008-r2

我可以在SQL Server 2008 R2中传递时间或日期数据类型的格式吗?

示例:仅具有hh:mm之类的时间格式的列

我搜索发现,我可以像下面这样传递分数的小数位数,但这将满足hh:mm:ss秒的时间格式,我只想要hh:mm

注意

我不想在select语句中避免这种情况,这在使用Crystal Reports中的列时不会帮到我,并且我无法在Crystal Reports中对其进行格式设置,格式对象选项中没有日期时间选项卡< / p>

_HOUR time(0);

1 个答案:

答案 0 :(得分:0)

  

我不想在select语句中避免这种情况...   我无法在水晶报表中设置其格式

但是您确实需要一条select语句来生成报告,因此一种方法是在convert()函数中使用“样式号”(8)-但是您只需要前5个字符,因此请使用char(5 )的结果。即

select convert(char(5), [datetime_or_time_column] ,8) as "hh:mm"
from thetables

您根本不会指示如何收集报告数据,但是如果使用临时表或存储过程(甚至是视图),则可以在生成结果时使用上面的转换语法。注意可以像这样format(getdate(),'HH:mm')来使用T-SQL的format(),但这通常比使用convert()慢。

如果您有权向表中添加计算列,并且此hh:mm数据具有确定性,则还可以对计算列使用上面显示的转换语法。

相关问题