2008-10-09 14 views

cevap

85

CURRENT_TIMESTAMP standart bir ANSI SQL'dir ve veritabanlarına taşımak istediğinizde SQL Server'a özgü binlerce SQL hattınız arasında teorik olarak 'değiştirmeye gerek yok' küçük bir küçük adadır ....

+5

Ayrıca 'kullanabilirsiniz {fn şimdi()}' eşdeğer sen * gerçekten * Eski usül gitmek istiyorum. – brianary

8

Kitaplar Çevrimiçi CURRENT_TIMESTAMP "GETDATE() eşdeğerdir" olduğunu söyler.

28

CURRENT_TIMESTAMP, ANSI SQL teknik özelliklerinin bir parçasıdır. GETDATE(), SQL Server'ın temel aldığı orijinal Sybase kodundan devralınan SQL Server'a özgü bir işlevdir.

Onlar da, tam olarak aynı şeyi.

9

Oyumu 'taşınabilirlik' nedenlerle CURRENT_TIMESTAMP içindir yani neden doğrudan SQL-92 eşdeğeri yoktur SQL Server 'e özgü olması?

PS neden getdatetime() adlı değildi? Artık SQL Server 2008'in DATE ve TIME veri türüne sahip olması, SQL-92'nin CURRENT_DATE ve CURRENT_TIME için destek alabileceğini umuyoruz; bu noktada getdate() potansiyel olarak daha da kafa karıştırıcı olabilir.