SQL Server 将日期时间数据库字段设置为“现在”

fcwjkofz  于 2022-12-28  发布在  其他
关注(0)|答案(4)|浏览(269)

在VB.net代码中,我创建了带有SQL参数的请求。如果我将DateTime参数设置为值DateTime,那么我的请求看起来会是什么样子?

UPDATE table SET date = "2010/12/20 10:25:00";

UPDATE table SET date = GETDATE();

在第一种情况下,我确信每条记录都将被设置为完全相同的时间,而在第二种情况下,这取决于DBMS如何处理请求,这就引出了第二个问题:SQL Server在使用NOW()更新大型表时是否设置了相同的日期和时间?

**编辑:**将NOW()(SQL Server中不存在)替换为GETDATE()。

fnvucqvd

fnvucqvd1#

在SQL中,您需要使用GETDATE()

UPDATE table SET date = GETDATE();

没有NOW()函数。
回答您的问题:
在一个大表中,由于函数是为每一行计算的,因此您最终将为更新的字段获得不同的值。
因此,如果您的要求是将所有数据都设置为同一日期,我将执行以下操作(未经测试):

DECLARE @currDate DATETIME;
SET @currDate = GETDATE();

UPDATE table SET date = @currDate;
cgfeq70w

cgfeq70w2#

GETDATE()的替代方法是CURRENT_TIMESTAMP。它的作用完全相同。

t0ybt7op

t0ybt7op3#

使用GETDATE()
以不带数据库时区偏移量的日期时间值的形式返回当前数据库系统时间戳。此值派生自运行SQL Server示例的计算机的操作系统。

UPDATE table SET date = GETDATE()
polhcujo

polhcujo4#

如果您正在向表中添加一行,并且需要用当前日期和时间更新一个值,请使用- now(),例如,插入参与者值(202,'ALIA','BHATT',now());

相关问题