在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()。
4条答案
按热度按时间fnvucqvd1#
在SQL中,您需要使用
GETDATE()
:没有
NOW()
函数。回答您的问题:
在一个大表中,由于函数是为每一行计算的,因此您最终将为更新的字段获得不同的值。
因此,如果您的要求是将所有数据都设置为同一日期,我将执行以下操作(未经测试):
cgfeq70w2#
GETDATE()的替代方法是CURRENT_TIMESTAMP。它的作用完全相同。
t0ybt7op3#
使用GETDATE()
以不带数据库时区偏移量的日期时间值的形式返回当前数据库系统时间戳。此值派生自运行SQL Server示例的计算机的操作系统。
polhcujo4#
如果您正在向表中添加一行,并且需要用当前日期和时间更新一个值,请使用- now(),例如,插入参与者值(202,'ALIA','BHATT',now());