SQL Server 2008R2将GETDATE结果更改为默认值

时间:2015-09-06 23:54:49

标签: sql-server sql-server-2008-r2 getdate

有没有办法改变getdate()的结果,同时仍然使用它作为默认值?例如。能够加上或减去x小时数。

情况:

德国托管服务器(GMT + 2),其中一些最终用户位于澳大利亚(GMT + 10)。一列使用默认的getdate()值,因此插入德语时间。有些代码根据澳大利亚时间生成DateTime,因此有8小时的差异。

目标:

有几个很好的理由,目的是在数据库上处理这个问题,而不是触摸应用程序代码。我想在德国getdate()默认数据库值上添加8小时.......或者在数据库上以其他方式处理

2 个答案:

答案 0 :(得分:1)

您可以使用DATEADD()函数将默认值添加到日期8小时:

float powf(float a,  float b);

答案 1 :(得分:1)

我没有看到任何这样的选择,也没有什么危险。您可以在数据库中创建一个具有相同名称GETDATE的函数,但这需要您在调用函数时使用dbo(或模式名称)作为前缀。

因此,您可能需要编写自己的函数并使用GETUTCDATE()并根据时区添加delta。