在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中不存在).
我尝试将String转换为TimeStamp时遇到问题.我有一个格式为日期的数组,yyyy-MM-dd我希望以格式更改yyyy-MM-dd HH:mm:ss.SSS.所以,我使用这段代码:
final String OLD_FORMAT = "yyyy-MM-dd";
final String NEW_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
String oldDateString = createdArray[k];
String newDateString;
DateFormat formatter = new SimpleDateFormat(OLD_FORMAT);
Date d = formatter.parse(oldDateString);
((SimpleDateFormat) formatter).applyPattern(NEW_FORMAT);
newDateString = formatter.format(d);
System.out.println(newDateString);
Timestamp ts = Timestamp.valueOf(newDateString);
System.out.println(ts);
Run Code Online (Sandbox Code Playgroud)
我得到以下结果.
2009-10-20 00:00:00.000
2009-10-20 00:00:00.0
但是当我试着干脆做的时候
String text = "2011-10-02 18:48:05.123";
ts = Timestamp.valueOf(text);
System.out.println(ts);
Run Code Online (Sandbox Code Playgroud)
我得到了正确的结果:
2011-10-02 18:48:05.123
你知道我可能做错了什么吗?谢谢您的帮助.
Sql Server中的datetime和timestamp数据类型有什么区别?
我在sql server中遇到了timestamp数据类型.具有示例的sql server中timestamp列的实际用途是什么?
来自msdn
每个数据库都有一个计数器,该计数器针对在数据库中包含rowversion列的表上执行的每个插入或更新操作递增.
也
要返回数据库的当前rowversion值,请使用@@ DBTS.
我有一个数据库(相信我只有一个表,没有时间戳/ rowversion字段)

但是当我运行select @@ DBTS时,我得到一个结果,好像我有一个rowversion列:

(ps - 插入/更新 - 不更新此值).
这个价值是多少?
为什么我没有rowversion列就可以拥有它?