Functions for Manipulating Data in SQL Server
Ana Voicu
Data Engineer
ISDATE() expression | Return type |
---|---|
date, time, datetime | 1 |
datetime2 | 0 |
other type | 0 |
DECLARE @date1 NVARCHAR(20) = '2019-05-05'
DECLARE @date2 NVARCHAR(20) = '2019-01-XX'
DECLARE @date3 CHAR(20) = '2019-05-05 12:45:59.9999999'
DECLARE @date4 CHAR(20) = '2019-05-05 12:45:59'
SELECT
ISDATE(@date1) AS valid_date,
ISDATE(@date2) AS invalid_date,
ISDATE(@date3) AS valid_datetime2,
ISDATE(@date4) AS valid_datetime;
| valid_date | invalid_date |valid_datetime2 | valid_datetime |
|------------|--------------|----------------|----------------|
| 1 | 0 | 0 | 1 |
SET DATEFORMAT {format}
Sets the order of the date parts for interpreting strings as dates
Valid formats:
mdy
, dmy
, ymd
, ydm
, myd
, dym
DECLARE @date1 NVARCHAR(20) = '12-30-2019'
DECLARE @date2 NVARCHAR(20) = '30-12-2019'
SET DATEFORMAT dmy;
SELECT
ISDATE(@date1) AS invalid_dmy,
ISDATE(@date2) AS valid_dmy;
|invalid_dmy| valid_dmy |
|-----------|-----------|
| 0 | 1 |
SET LANGUAGE {language}
SET DATEFORMAT
SET LANGUAGE English;
SELECT
ISDATE('12-30-2019') AS mdy,
ISDATE('30-12-2019') AS dmy;
| mdy | dmy |
|-----|-----|
| 1 | 0 |
SET LANGUAGE French;
SELECT
ISDATE('12-30-2019') AS mdy,
ISDATE('30-12-2019') AS dmy;
| mdy | dmy |
|-----|-----|
| 0 | 1 |
Functions for Manipulating Data in SQL Server