Thi*_*zig 85 vb.net sql-server
在VB.net代码中,我使用SQL参数创建请求.我将DateTime参数设置为DateTime.Now值,我的请求会是什么样的?
UPDATE table SET date = "2010/12/20 10:25:00";
Run Code Online (Sandbox Code Playgroud)
要么
UPDATE table SET date = GETDATE();
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,我确信每条记录都将设置为完全相同的时间.在第二种情况下,它取决于DBMS如何处理请求.这引出了我的第二个问题:SQL Server在使用NOW()更新大表时是否设置了相同的日期和时间?
编辑:由GETDATE()替换NOW()(在SQL Server中不存在).
Ode*_*ded 158
在SQL中,您需要使用GETDATE():
UPDATE table SET date = GETDATE();
Run Code Online (Sandbox Code Playgroud)
没有NOW()功能.
回答你的问题:
在大型表中,由于对每行评估函数,因此最终将获得更新字段的不同值.
所以,如果你的要求是将它设置为同一天,我会做这样的事情(未经测试):
DECLARE @currDate DATETIME;
SET @currDate = GETDATE();
UPDATE table SET date = @currDate;
Run Code Online (Sandbox Code Playgroud)
Don*_*mon 20
GETDATE()的替代方法是CURRENT_TIMESTAMP.完全相同的事情.
返回当前数据库系统时间戳作为没有数据库时区偏移的日期时间值.此值派生自运行SQL Server实例的计算机的操作系统.
UPDATE table SET date = GETDATE()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
244109 次 |
| 最近记录: |