【发布时间】:2017-10-20 13:01:47
【问题描述】:
我正在尝试从一个日期创建 3 个单独的字段,现在我遇到了这个问题。当(DDMMYYYY欧式)日期为04032017时,代码:
SELECT SUBSTRING(CAST(04032017 AS VARCHAR(38)), 2, 2) AS Month
返回03(完美)。
但是当代码是这样的时候(第一个零现在是 1!):
SELECT SUBSTRING(CAST(18022017 AS VARCHAR(38)), 2, 2) AS Month
结果是 80,因为 SUBSTRING 现在从 (1) 第一个位置开始计数,并且在第一个示例中,它以 4 作为起点。
显然,我需要为所有出现的事件提供 1 个代码,但我就是不正确。
我们将不胜感激!
问候,J
【问题讨论】:
-
重写为
CAST('DDMMYYYY' AS VARCHAR)有可能吗? -
04032017被解释为 int 而不是字符串,4032017也是如此。
标签: sql-server casting substring zero