
解析:SQL中插入空值导致默认日期为1900-01-01 00:00:00.000的问题及解决方案
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本文深入探讨了在SQL数据库操作过程中,当向表中插入空值时,默认日期字段被设置为1900-01-01 00:00:00.000的现象,并提供了有效的解决策略。
在SQL Server 2005 中,如果将字段定义为datetime类型,并插入一个空字符串(),则该字段的默认值会自动设置为1900-01-01 00:00:00.000。为了防止这种情况,在查询时可以使用以下方法进行过滤:`cast(nullif( , ) as datetime)`
例如,执行如下代码:
```sql
select
cast( as datetime),
cast(nullif(, ) as datetime),
isnull(cast(nullif(, ) as datetime), getdate())
```
查询结果为:
- 1900-01-01 00:00:00.00
- NULL
利用`isnull()`函数结合`getdate()`可以确保如果字段为空,则返回当前日期时间。
全部评论 (0)
还没有任何评论哟~


