gpt4 book ai didi

sql - 如何使用 DatePart 获取前导零?

转载 作者:行者123 更新时间:2023-12-05 01:46:40 25 4
gpt4 key购买 nike

我的 TSQL 查询的 SELECT 部分中有这段:

CAST(DATEPART(HOUR,s.Arr) AS VARCHAR) + CAST(DATEPART(MINUTE,s.Arr) AS VARCHAR),

原始的 s.Arr 字段如下所示:

2016-01-04 04:43:00.000

目标是让它看起来像:

0443

但现在我的 SQL 使它看起来像:

443

因为它没有捕获前导零。我怎样才能捕获前导零?有没有一种方法可以做到这一点,而无需使用诸如在其上填充零之类的骇人听闻的方法?

服务器:2008 R2

最佳答案

SQL Server 2012+ 中,您可以使用 FORMAT:

DECLARE @d DATETIME = '2016-01-04 04:43:00.000';
SELECT FORMAT(@d, 'HHmm');
-- 0443

LiveDemo


SQL Server 2008

不使用 0 填充:

DECLARE @d DATETIME = '2016-01-04 04:43:00.000';
SELECT REPLACE(LEFT(CONVERT(VARCHAR(100), @d, 14),5), ':', '');
-- 0443

LiveDemo2

Style: 14 hh:mi:ss:mmm(24h)

关于sql - 如何使用 DatePart 获取前导零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34598787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com