在 SQL Server 中使用函数处理数据
Ana Voicu
Data Engineer
| ISDATE() 表达式 | 返回值 |
|---|---|
| date, time, datetime | 1 |
| datetime2 | 0 |
| 其他类型 | 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}
设置将字符串解释为日期时的日期部分顺序
可选格式:
mdy、dmy、ymd、ydm、myd、dymDECLARE @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 DATEFORMATSET 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 |
在 SQL Server 中使用函数处理数据