DATEFROMPARTS SQL function
1. Usage of DATEFROMPARTS which shows various way to display Employee Hire Date.
SQL Server Query 1
SELECT
EmployeeID, FirstName, LastName, HireDate, -- Original HireDate for comparison
DATEFROMPARTS(
YEAR(HireDate), -- Extract year from HireDate
MONTH(HireDate), -- Extract month from HireDate
DAY(HireDate) -- Extract day from HireDate
) AS ReconstructedHireDate,
-- Example: Construct a date 5 years after the original HireDate
DATEFROMPARTS(
YEAR(HireDate) + 5,
MONTH(HireDate),
DAY(HireDate)
) AS FiveYearsLater
FROM Employees
ORDER BY EmployeeID;
Create SQL query with SqlQueryBuilder 1
var (sql1, parameters1) = new SqlQueryBuilder()
.Select()
.Columns("EmployeeID", "FirstName", "LastName", "HireDate")
.Column(new DATEFROMPARTS(new YEAR(new Column("HireDate")), new MONTH(new Column("HireDate")), new DAY(new Column("HireDate")))
, "ReconstructedHireDate")
.Column(new DATEFROMPARTS(new YEAR(new Column("HireDate")).AddArithmatic(new Arithmatic().Add(5)), new MONTH(new Column("HireDate")),
new DAY(new Column("HireDate")))
, "FiveYearsLater")
.From("Employees")
.OrderBy(new OrderBy().Set(new Column("EmployeeID")))
.Build();
Query build by SqlQueryBuilder 1
SELECT EmployeeID,
FirstName,
LastName,
HireDate,
DATEFROMPARTS(YEAR(HireDate), MONTH(HireDate), DAY(HireDate)) AS ReconstructedHireDate,
DATEFROMPARTS(YEAR(HireDate) + @pMAIN_2507192046044121860, MONTH(HireDate), DAY(HireDate)) AS FiveYearsLater
FROM Employees
ORDER BY EmployeeID ASC;
Parameters (If used)
Name |
Value |
@pMAIN_2507192046044121860 |
5 |
Query Results 1:
|
EmployeeID |
FirstName |
LastName |
HireDate |
ReconstructedHireDate |
FiveYearsLater |
1 |
1
|
Nancy
|
Davolio
|
5/1/1992 12:00:00 AM
|
5/1/1992 12:00:00 AM
|
5/1/1997 12:00:00 AM
|
2 |
2
|
Andrew
|
Fuller
|
8/14/1992 12:00:00 AM
|
8/14/1992 12:00:00 AM
|
8/14/1997 12:00:00 AM
|
3 |
3
|
Janet
|
Leverling
|
4/1/1992 12:00:00 AM
|
4/1/1992 12:00:00 AM
|
4/1/1997 12:00:00 AM
|
4 |
4
|
Margaret
|
Peacock
|
5/3/1993 12:00:00 AM
|
5/3/1993 12:00:00 AM
|
5/3/1998 12:00:00 AM
|
5 |
5
|
Steven
|
Buchanan
|
10/17/1993 12:00:00 AM
|
10/17/1993 12:00:00 AM
|
10/17/1998 12:00:00 AM
|
6 |
6
|
Michael
|
Suyama
|
10/17/1993 12:00:00 AM
|
10/17/1993 12:00:00 AM
|
10/17/1998 12:00:00 AM
|
7 |
7
|
Robert
|
King
|
1/2/1994 12:00:00 AM
|
1/2/1994 12:00:00 AM
|
1/2/1999 12:00:00 AM
|
8 |
8
|
Laura
|
Callahan
|
3/5/1994 12:00:00 AM
|
3/5/1994 12:00:00 AM
|
3/5/1999 12:00:00 AM
|
9 |
9
|
Anne
|
Dodsworth
|
11/15/1994 12:00:00 AM
|
11/15/1994 12:00:00 AM
|
11/15/1999 12:00:00 AM
|