我有一个旧版 SQL Server 2000 数据库,该数据库有一列的日期存储为 varchar 而不是 datetime,无论出于何种原因。我想查看这些数据并使用日期时间字段而不是 varchar 来更轻松地针对该字段进行报告。好消息是大多数值看起来应该能够直接转换为日期时间。
当然,显然有些字段是以不能转换为日期时间的方式输入的。为清楚起见,表格如下所示:
CREATE TABLE dbo.user
(
...
birthdate varchar(10)
...
)
视图可能如下所示:
CREATE VIEW dbo.UserView
AS
SELECT ...
CAST(u.birthdate AS datetime) AS birthdate
...
FROM user u
WHERE ...
有什么办法可以:
- 获取无法将生日日期转换为日期时间的所有行的列表,以防我可以修复它?
- 在我无法修复该值的情况下,使该值显示为 NULL 或者甚至可能是显然不是用户真实生日的东西?