title: Why is there a small (sub ms) difference between T-SQL current datetime functions
body: <p>There is a small difference in the current date/time functions compared to the System date/time functions.</p>
  
  <pre><code>SELECT 'SYSDATETIME()      ' AS 'Date Time Function', SYSDATETIME() AS 'Result' UNION
  SELECT 'SYSDATETIMEOFFSET()', SYSDATETIMEOFFSET() UNION
  SELECT 'SYSUTCDATETIME()   ', SYSUTCDATETIME() UNION
  SELECT 'CURRENT_TIMESTAMP  ', CURRENT_TIMESTAMP UNION
  SELECT 'GETDATE()          ', GETDATE() UNION
  SELECT 'GETUTCDATE()       ', GETUTCDATE() 
  </code></pre>
  
  <p>returns the following results</p>
  
  <pre><code>CURRENT_TIMESTAMP   2014-03-12 12:17:59.9170000 +00:00
  GETDATE()           2014-03-12 12:17:59.9170000 +00:00
  GETUTCDATE()        2014-03-12 16:17:59.9170000 +00:00
  SYSDATETIME()       2014-03-12 12:17:59.9192944 +00:00
  SYSDATETIMEOFFSET() 2014-03-12 12:17:59.9192944 -04:00
  SYSUTCDATETIME()    2014-03-12 16:17:59.9192944 +00:00
  </code></pre>
  
  <p>Why the discrepancy between the three "SYS" prefixed options and the other three? </p>