从SQL String中提取日期

时间:2013-06-05 22:48:36

标签: sql-server sql-server-2000

我的数据库中有一个包含以下数据的字段:

'DUES 1/4/2013'
'DUES 2/18/2013'
'DUES 3/25/2013'
...

我想要做的是提取字符串的日期部分并将其转换为有效的SQL Date对象。我怎样才能做到这一点?我正在使用SQL Server 2000。

1 个答案:

答案 0 :(得分:1)

试试这个 -

<强>查询:

DECLARE @temp TABLE (col VARCHAR(50))

INSERT INTO @temp (col)
    SELECT 'DUES 1/4/2013'
    UNION ALL
    SELECT 'DUES 2/18/2013'
    UNION ALL
    SELECT 'DUES 3/25/2013'
    UNION ALL
    SELECT NULL

SELECT 
    [date] = 
        CASE WHEN col IS NOT NULL 
            THEN CAST(SUBSTRING(col, 5, LEN(col)) AS DATETIME) 
        END  
FROM @temp

<强>结果:

date
-----------------------
2013-01-04 00:00:00.000
2013-02-18 00:00:00.000
2013-03-25 00:00:00.000
NULL