如何提取小时年和月?

时间:2018-03-08 12:28:50

标签: sql sql-server

j'aiutilisélarequêteuivante:

SELECT DATEPART(year, (select convert (nvarchar(20),[DateFacture]) FROM [ArcoCerame].[dbo].[FactureClient]))  
    ,DATEPART(month, (select convert (nvarchar(20),[DateFacture]) FROM [ArcoCerame].[dbo].[FactureClient]))  
    ,DATEPART(day, (select convert (nvarchar(20),[DateFacture]) FROM [ArcoCerame].[dbo].[FactureClient]))  
    ,DATEPART(dayofyear, (select convert (nvarchar(20),[DateFacture]) FROM [ArcoCerame].[dbo].[FactureClient]))  
    ,DATEPART(weekday, (select convert (nvarchar(20),[DateFacture]) FROM [ArcoCerame].[dbo].[FactureClient]));

Mais le SQL Server Management Studio m'affichecettereésultat:

Msg 512,Niveau 16,État1,Ligne 1 La sous-requête是retournéplusieursvaleurs。 Cela n'estpasautoriséquandla sous-requêtesuits=,!=,<,< =,>,> = ou quand elleestutiliséeentant qu'expression。

你能帮助我们纠正我的陈述并提前致谢

1 个答案:

答案 0 :(得分:1)

您可以在日期上使用year()month()函数。不要转换为字符串进行日期操作!

所以,像这样:

SELECT year([DateFacture]), month([DateFacture]), day([DateFacture])
FROM [ArcoCerame].[dbo].[FactureClient]