Select current_timestamp,getdate(),getutcdate(),sysdatetime()

Select CURRENT_TIMESTAMP,getdate() Where CURRENT_TIMESTAMP=getdate()

Select current_timestamp,getdate(),getutcdate(),sysdatetime()
Select CURRENT_TIMESTAMP,getdate() Where CURRENT_TIMESTAMP=getdate()
CURRENT_TIMESTAMP is a system function to retrieve the current system date and time. CURRENT_TIMESTAMP is an ANSI SQL function whereas GETDATE is the T-SQL version of that same function. That says it is a non-deterministic function. If you are very specific to ANSI comaptibility or thinking of heterogenous system support, I would suggest to use CURRRENT_TIMESTAMP instead of GETDATE(). As an envision, I prefer to use CURRENT_TIMESTAMP over GETDATE() personally wherever possible.
Interesting facts:
1. When we create a default constaint with CURRENT_TIMESTAMP, by default, SSMS properties are showing GETDATE().
My thought: This could be because SSMS properties have nothing to do with ANSI compatibility nor hetrogeneous support.
2. Tool tip text of the function adds parenthesis – ()
My thought: I have no clue why Microsoft has made this so.Its more concerned to me the function with “()” gives an error as below.