Randolph West shares his thoughts on three functions he’d rather you avoid:
CURRENT_TIMESTAMP
is the ANSI-equivalent ofGETDATE()
. ANSI is an acronym for the American National Standards Institute, and sometimes vendors will include ANSI functions in their products so they can say that they’re ANSI-compliant (which is not a bad thing, in most cases).There are three main problems with
CURRENT_TIMESTAMP
:
- No brackets. It goes against the rules about functions. So much for standards!
- It’s functionally equivalent to
GETDATE()
, which usesDATETIME
, which we previously identified is old and bad.- It’s too similar to the poorly-named
TIMESTAMP
data type, which has nothing to do with dates and times and should be calledROWVERSION
.Bottom line: don’t use
CURRENT_TIMESTAMP
.
At one point I used CURRENT_TIMESTAMP
over GETDATE()
with the thought of portability in mind. Since then, my thoughts on code portability have changed and regardless, as Randolph mentions, it’s better to use DATETIME2
functions to avoid precision issues with DATETIME
.