简体   繁体   English

如何在SQL Server中转换为日期

[英]How to convert to date in SQL Server

How can I convert single date values ​​to date? 如何将单个日期值转换为日期? For example in C# it is possible with the following; 例如在C#中,可以使用以下内容;

int year = 2019;
int day = 1;
int month = 12;
DateTime newDate = new DateTime(year, month, day); 

How is it possible in SQL Server? 如何在SQL Server中实现?

I'm not asking static string value conversion such as; 我不是要求静态字符串值转换,如; Convert(date, '2019-12-01') because every element (year, month, day) in date must be parameter. Convert(date, '2019-12-01')因为Convert(date, '2019-12-01')每个元素(年,月,日)必须是参数。

For 2012 version or later you can use DateFromParts : 对于2012版或更高版本,您可以使用DateFromParts

DECLARE @year VARCHAR(4) = 2019;
DECLARE @day VARCHAR(2) = 1;
DECLARE @month  VARCHAR(2) = 12;

SELECT DATEFROMPARTS ( @year, @month, @day )  

for 2008 version or higher you can use: 对于2008版或更高版本,您可以使用:

SELECT CAST(CAST(@year AS varchar) + '-' + CAST(@month AS varchar) + '-' + CAST(@day AS varchar) AS DATE)

You may try this: 你可以试试这个:

 declare year varchar(5) = 2019;
 declare day varchar(2)  = 1;
 declare month varchar(2)  = 12;
 declare newDate DateTime = (select Convert(date, year + '-' + month + '-' + date));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM