sql cast of hourtime of datetime,而不会在单个数字小时内丢失前导零
发布时间:2020-05-24 13:09:09 所属栏目:MsSql 来源:互联网
导读:CAST(DATEPART(hh, timestamp) AS varchar(2)) + :00 AS Hour 这将使我从时间戳字段中获得时间,但是在小时0-9的情况下,它不会填充前导零,因此当我按小时降序排序时,它不能正确排序. 不知道这里有什么问题.我指定一个2 char varchar来为前导零提供额外的空间.
CAST(DATEPART(hh,timestamp) AS varchar(2)) + ':00' AS Hour 这将使我从时间戳字段中获得时间,但是在小时0-9的情况下,它不会填充前导零,因此当我按小时降序排序时,它不能正确排序. 不知道这里有什么问题.我指定一个2 char varchar来为前导零提供额外的空间.希望有一种方法可以解决这个问题而不通过我的字段通过一个函数来为我填充前导零. 解决方法SELECT RIGHT('0' + CONVERT(VARCHAR(2),DATEPART(HOUR,GETDATE())),2) + ':00';
不想用0填充?好吧,你可以用一种同样丑陋的方式做到这一点而不会出现填充问题: SELECT LEFT(CONVERT(TIME(0),GETDATE()),2) + ':00'; 显然用您的列名替换GETDATE().我希望这不是真正的时间戳,因为这是一个保留字 – 对于与日期或时间无关的数据类型,遗憾的是. 如果您不喜欢这些解决方案中的任何一个,那么只需从SQL Server中选择数据并让您的客户端应用程序处理格式/表示详细信息.当然,使用C#的format()函数很容易做到这一点. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 升级拆分的Access数据库
- sql-server – 如何计算SQL Server 2008中存储过程和表的总
- sql-server – WAITFOR对其他进程和事务的影响是什么?
- sql-server – 如何将nvarchar解码为文本(SQL Server 2008
- sql-server – 用结果集系列中的最新非NULL值替换NULL值(SQ
- mysql 启动1067错误及修改字符集重启之后复原无效问题
- sql-server-2005 – Hibernate如何映射SQL数据类型nvarchar
- 使用PowerShell和SMO恢复数据库时显示进度
- 从SQL Server表中检索每个类别的不同行数
- sql-server – 何时将Torn Page Detection和Checksum引入SQ
