SMALLDATETIMEFROMPARTS is one of the new built-in Date and Time Function introduced as a Part of Sql Server 2012. Returns a SMALLDATETIME value for the specified date and time. It is a Sql Server native function not dependent on the .NET CLR.
SYNTAX: SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute )
WHERE: year, month, day, hour and minute are integer expressions representing valid year, month, day, hour and minute respectively.
Return Type: SMALLDATETIME
Example 1: SMALLDATETIMEFROMPARTS – with valid date and time part integer constants
SELECT SMALLDATETIMEFROMPARTS(2013,6,23,1,20 ) AS 'SMALLDATETIME', SMALLDATETIMEFROMPARTS(1900,1,1,0,0) AS 'MIN SMALLDATETIME', SMALLDATETIMEFROMPARTS(2079,6,6,23,59) AS 'MAX SMALLDATETIME'
Result:
SMALLDATETIME MIN SMALLDATETIME MAX SMALLDATETIME
———————– ———————– ———————–
2013-06-23 01:20:00 1900-01-01 00:00:00 2079-06-06 23:59:00
Example 2: SMALLDATETIMEFROMPARTS – with valid date and time part integer variables
DECLARE @year INT = 2013, @month INT = 6, @day INT = 23, @hour INT = 1, @minute INT = 20 SELECT SMALLDATETIMEFROMPARTS( @year, @month, @day, @hour , @minute) AS 'SMALLDATETIME'
Result:
SMALLDATETIME
———————–
2013-06-23 01:20:00
Example 3: SMALLDATETIMEFROMPARTS – with Invalid part
DECLARE @year INT = 2013, @invalidmonth INT = 15, @day INT = 23, @hour INT = 1, @minute INT = 20 SELECT SMALLDATETIMEFROMPARTS( @year, @invalidmonth, @day, @hour , @minute) AS 'SMALLDATETIME'
Result:
Msg 289, Level 16, State 4, Line 3
Cannot construct data type smalldatetime, some of the arguments have values which are not valid.
Example 4: SMALLDATETIMEFROMPARTS – with one of the part as NULL
DECLARE @year INT = 2013, @invalidmonth INT = 15, @day INT = 23, @hour INT = 1, @minute INT = NULL SELECT SMALLDATETIMEFROMPARTS( @year, @invalidmonth, @day, @hour , @minute) AS 'SMALLDATETIME'
Result:
SMALLDATETIME
———————–
NULL
You may like to read the below new built-in function’s introduced in Sql Server 2012:
New Built in Functions introduced in Sql Server | |
CONVERSION FUNCTIONS | |
PARSE | TRY_PARSE |
TRY_CONVERT | |
STRING FUNCTIONS | |
CONCAT | FORMAT |
LOGICAL FUNCTIONS | |
CHOOSE | IIF |
DATE AND TIME FUNCTIONS | |
EOMONTH | |
DATEFROMPARTS | DATETIMEFROMPARTS |
SMALLDATETIMEFROMPARTS | DATETIME2FROMPARTS |
TIMEFROMPARTS | DATETIMEOFFSETFROMPARTS |
2 thoughts on “SMALLDATETIMEFROMPARTS FUNCTION IN SQL SERVER 2012”