使用SQL Server,哪种方法是检索日期的最快或最佳方法?CURRENT_TIMESTAMP和GetDate()之间有区别吗?
CURRENT_TIMESTAMP
GetDate()
z8dt9xmd1#
CURRENT_TIMESTAMP是标准的ANSI SQL,理论上,如果您需要移动数据库,那么在数千个特定于SQL Server的SQL行中,CURRENT_TIMESTAMP是一个“不需要更改”的小岛。
xzv2uavs2#
CURRENT_TIMESTAMP是ANSI SQL规范的一部分。GETDATE()是从SQL Server所基于的原始Sybase代码继承的SQL Server特定函数。不过,它们做的是完全一样的事情。
GETDATE()
ioekq8ef3#
出于“可移植性”的原因,我投票支持CURRENT_TIMESTAMP。当有直接的SQL-92等价物时,为什么要特定于SQL Server呢?PS为什么它没有被命名为getdatetime()?现在SQL Server 2008有了DATE和TIME数据类型,我们可以希望获得对SQL-92的CURRENT_DATE和CURRENT_TIME的支持,在这一点上getdate()可能会更加混乱。
getdatetime()
DATE
TIME
CURRENT_DATE
CURRENT_TIME
getdate()
bn31dyow4#
联机丛书告诉我们CURRENT_TIMESTAMP“等价于GETDATE()“。
4条答案
按热度按时间z8dt9xmd1#
CURRENT_TIMESTAMP
是标准的ANSI SQL,理论上,如果您需要移动数据库,那么在数千个特定于SQL Server的SQL行中,CURRENT_TIMESTAMP
是一个“不需要更改”的小岛。xzv2uavs2#
CURRENT_TIMESTAMP
是ANSI SQL规范的一部分。GETDATE()
是从SQL Server所基于的原始Sybase代码继承的SQL Server特定函数。不过,它们做的是完全一样的事情。
ioekq8ef3#
出于“可移植性”的原因,我投票支持
CURRENT_TIMESTAMP
。当有直接的SQL-92等价物时,为什么要特定于SQL Server呢?PS为什么它没有被命名为
getdatetime()
?现在SQL Server 2008有了DATE
和TIME
数据类型,我们可以希望获得对SQL-92的CURRENT_DATE
和CURRENT_TIME
的支持,在这一点上getdate()
可能会更加混乱。bn31dyow4#
联机丛书告诉我们
CURRENT_TIMESTAMP
“等价于GETDATE()
“。