2
我在我的数据库中包含这样的数据的字段:从SQL提取日期字符串
'DUES 1/4/2013'
'DUES 2/18/2013'
'DUES 3/25/2013'
...
我想要做的是提取字符串的日期部分,并把它转换成一个有效的SQL Date对象。我怎样才能做到这一点?我使用的是SQL Server 2000中
我在我的数据库中包含这样的数据的字段:从SQL提取日期字符串
'DUES 1/4/2013'
'DUES 2/18/2013'
'DUES 3/25/2013'
...
我想要做的是提取字符串的日期部分,并把它转换成一个有效的SQL Date对象。我怎样才能做到这一点?我使用的是SQL Server 2000中
尝试这一个 -
查询:
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
尝试'CAST(REPLACE(STR“ DUES','')AS DATETIME)' –
@TI - 由于某种原因它引发错误。说它不能将字符串转换为日期。 – Icemanind
@TI - 具体为“从字符串转换日期和/或时间时转换失败。” – Icemanind