Thursday, September 12, 2013

Convert Varchar column to datetime

Convert Varchar column to datetime

I have two columns as below. ColumnA is a varchar. 9bd is an assigned
number, 10 is fiscal year, 07 is month, and the rest is unique id. ColumnB
is datetime.
ColumnA ColumnB
9db1007000001 8/7/2011
I would like to seperate from ColumnA into a Month column (datetime) and a
Year column (datetime).
Desired result from ColumnA:
Column Month Column Year
7 2010
OR
7 10
I can seperate ColumnB into Month column and Year column. Here is my
attempted SQL script.
SELECT
ColumnA,
DATEPART(mm, (ColumnB)) as Month,
DATEPART(yy, (ColumnB)) as YEAR
FROM MY TABLE
Can someone please help? I did search within this website and found
similar question but my attempted script produces error
--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
BTW, this DATEPART(yy, (ColumnB)) function returns 2011. How can it return
11 instead? Or should I submit another question?

No comments:

Post a Comment