我有如下两列。ColumnA 是一个 varchar。9bd 是分配的编号,10 是会计年度,07 是月份,其余是唯一 ID。ColumnB 是日期时间。
ColumnA ColumnB
9db1007000001 8/7/2011
我想将 ColumnA 分成月份列(日期时间)和年份列(日期时间)。
来自 ColumnA 的期望结果:
Column Month Column Year
7 2010
或者
7 10
我可以将 ColumnB 分成月列和年列。这是我尝试的 SQL 脚本。
SELECT
ColumnA,
DATEPART(mm, (ColumnB)) as Month,
DATEPART(yy, (ColumnB)) as YEAR
FROM MY TABLE
有人可以帮忙吗?我确实在这个网站内搜索并发现了类似的问题,但我尝试的脚本产生了错误
--Conversion failed when converting datetime from character string.
SELECT
CAST(SUBSTRING(ColumnB, 5, 2) + SUBSTRING(ColumnB, 3, 2) AS DATETIME) Month_Year
FROM MY TABLE
顺便说一句,这个 DATEPART(yy, (ColumnB))
函数返回 2011。它怎么能返回 11 呢?还是我应该提交另一个问题?