2015-10-20 2 views
0

Я бегдень-месяц-год с даты дневного

select distinct day(rectime) from dbo.tbl_testrecord 

получить отличный день для Rectime. теперь я хочу различный месяц и день от исправления, например, sep 10. как это сделать? Прошу совета!

ответ

0

Использование datepart

select distinct 
    cast(datename(month,datepart(mm,rectime) as varchar(10))) 
+ cast(datepart(dd,rectime) as varchar(10)) 
+ ',' 
+ cast(datepart(yyyy,rectime) as varchar(10)) 
from dbo.tbl_testrecord 
+0

его дает мне, как формат 20150910, i я смотрю что-то вроде 10 сентября 2015 г. – sony921

+0

см. измененную версию –

0

Если вы хотите укоротить время от даты вы можете CASTDATETIME к DATE

select distinct cast(rectime as date) from dbo.tbl_testrecord 

Если вы хотите части даты в виде отдельных столбцов, то

select distinct 
    day(rectime) as d, month(rectime) as m, year(rectime) as y 
from dbo.tbl_testrecord 
+0

для первого скрипта. Я получаю ошибку, например, дата типа не является определенным типом системы. (Я использую SQL Server 2008). Но второй поможет. спасибо – sony921

+0

Я довольно уверен ['DATE'] (https://msdn.microsoft.com/en-us/library/bb630352%28v=sql.100%29.aspx) доступен в SQL Server 2008, что такое [Уровень совместимости] (https://msdn.microsoft.com/en-us/library/bb933794%28v=sql.100%29.aspx) базы данных? –

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