2013-12-12 8 views
0

Я конвертирую дату в MM/YY, но он преобразуется в varchar. Как изменить это на datetime тип данных?конвертировать в формат даты в MM/YY?

select RIGHT(CONVERT(VARCHAR(8), e.[Start_Date], 3), 5) AS 'Month/Year' 
from table1 
+4

Даты имеют компоненты года и месяца и дня в T-SQL. В какой день месяца вы хотите использовать? –

+0

как '04/13' этот – James123

+0

' SELECT DateAdd (mm, DateDiff (mm, 0, e.start_date), 0) FROM table1 As e' Это даст вам первое число месяца как значение 'datetime'. Это то, к чему вы стремитесь? – gvee

ответ

0
I am converting date into MM/YY, but it is converted to varchar. How to change that back to datetime datatype? 

это значит вы обновляете назад такое же поле с VARCHAR value.How это возможно? где поле даты потеряно?

Declare @i datetime =getdate() 
select stuff(convert(varchar(10),@i,103),1,3,'') 
0

Я понимаю, что у вас есть значение, как «01/13» (январь 2013 г.), и вы хотите, чтобы произвести DATETIME от него.

DECLARE @mmyy VARCHAR(5) = '01/13'; 
SELECT CAST('20'+RIGHT(@mmyy, 2)+'-'+LEFT(@mmyy, 2)+'-01' AS DATETIME) 
-- returns 2013-01-01 00:00:00.000 

Конечно, поскольку ваш год является 2-значным, я должен сделать предположение, что он находится в 21 веке.

Смежные вопросы