用于评估有效和无效日期的功能

时间:2016-02-29 21:13:27

标签: sql sql-server sql-server-2008

我正在使用SQL Server 2008

我收到了几种格式的数据。日期是varchar(10) 例如:

1> 951116 = YYMMDD

2 - ; 122487 = MMDDYY

存在具有空白值的行或某些行中包含一些文本。

我想检查它是否是日期并转换它,否则它可以为空。

我一直在使用以下代码,但它只允许我转换第一个示例中的日期并在第二个示例中引发错误。

create view v2 as 
SELECT name 
  ,CASE WHEN LEN(DOB) < 6 THEN '' ELSE CONVERT(VARCHAR, 
                  CAST(CAST('19' + SUBSTRING(DOB, 5, 2) + SUBSTRING(DOB, 1, 2) + SUBSTRING(DOB, 3, 2) AS VARCHAR(10)) AS DATE), 110) END AS OWNR_DOB
FROM customer

我想编写一个函数并将其设置为YYYYMMDD格式。

一个简单的函数,只是将YYMMDD格式转换为YYYYMMDD并将其他值视为无效或null也可以是一个开始。

感谢任何帮助。

0 个答案:

没有答案
相关问题