如何在sql server 2000中为日期字段设置默认空值?

发布于 2024-08-08 03:00:25 字数 37 浏览 7 评论 0原文

如果包含日期值的参数为空,如何为表中的日期字段设置默认空值?

How to set deafult null value in to a date field in the table,if the parameter containing the date value is null?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

街角卖回忆 2024-08-15 03:00:25

确保你确实传入了 NULL,我认为你传入的是一个空字符串。如果您传入空字符串,您将获得您引用的 1900-01-01 00:00:00.000 值。 Null 将为 null,不会更改为日期。

尝试这个测试代码:

declare @x datetime

select 'is null', @x

set @x=''

select 'is empty string', @x

输出:

------- -----------------------
is null NULL

(1 row(s) affected)


--------------- -----------------------
is empty string 1900-01-01 00:00:00.000

(1 row(s) affected)

Make sure you are really passing in NULL, I think you are passing in an empty string. If you pass in empty string, you get the 1900-01-01 00:00:00.000 value that you refer to. Null will be null and not change to a date.

try this test code:

declare @x datetime

select 'is null', @x

set @x=''

select 'is empty string', @x

OUTPUT:

------- -----------------------
is null NULL

(1 row(s) affected)


--------------- -----------------------
is empty string 1900-01-01 00:00:00.000

(1 row(s) affected)
长发绾君心 2024-08-15 03:00:25

你的意思是当传入的日期参数为NULL时如何在存储过程中设置特定的默认值?

像这样标记您的日期参数:

@DOB DATETIME = '01/01/1900'

如果 @DOB 作为 NULL 传递,@DOB 参数将插入 '01/01/1900'。

Do you mean how do you set a specific default value in a stored procedure when the date parameter passed in is NULL?

Mark your date parameter like this:

@DOB DATETIME = '01/01/1900'

And the @DOB parameter would then insert '01/01/1900' if @DOB is passed as NULL.

隱形的亼 2024-08-15 03:00:25

尝试:

coalesce(param, getdate())

在您的存储过程中或在您的列上定义默认值

ALTER TABLE dbo.Mitarbeiter ADD CONSTRAINT
DF_Mitarbeiter_Geburtstag DEFAULT getdate() FOR Geburtstag

Try:

coalesce(param, getdate())

in your stored procedure or define a default value on your column

ALTER TABLE dbo.Mitarbeiter ADD CONSTRAINT
DF_Mitarbeiter_Geburtstag DEFAULT getdate() FOR Geburtstag
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文