【发布时间】:2020-06-14 03:40:18
【问题描述】:
这是我的代码
concat(CONVERT(varchar(10), cast(cast(cast(DATE1 as int) as char(8)) as date), 101),
上面部分是创建日期格式,然后在下面连接:
', ',
convert(varchar(5), (convert(time, left(RIGHT('000000' + CONVERT(varchar(6), TIME1), 6), 2)
+ ':' + substring(RIGHT('000000' + CONVERT(varchar(6), TIME1), 6), 3, 2)
+ ':' + substring(RIGHT('000000' + CONVERT(varchar(6), TIME1), 6), 5, 2))), 108))
这会返回时间。
将两者组合在同一行输出为 mm/dd/yyy, 13:00
我正在转换原始字段,其中日期写为 yyyymmdd,时间写为 5-6 位数字,71200(7:12,但秒始终为 00)。
这需要很长时间,所以我想要一种方法来提高代码的效率。
注意,我将日期与 4 个不同的时间列连接起来,所以也许这就是它需要很长时间的原因?
【问题讨论】:
-
进行字符串操作总是很慢。尝试改用 DATEADD。
标签: sql-server datetime time ssms concat