Is Microsoft SQL Server 2016 fully ANSI SQL-92 compliant?
-
07-01-2021 - |
Question
I am trying to find a compliance confirmation for MS SQL 2016 - if it is fully compliant with ANSI SQL-92 starndard.
I found this article on Microsoft Docs which states it is not, but it refers to ODBC driver and Microsoft Jet engine - not sure if this is exactly the same thing, shouldn't it also relate to T-SQL?
Solution
I don't believe that any version of any database platform on earth is fully compliant with any version of the standard. This is probably why you're not finding any claims of 100% compliance...
You can find some promising starting points over on Stack Overflow in the following Q & A: Database Engines and ANSI SQL Compliance
Many references linked from there are not maintained because database platforms are evolving all the time and this would be many full-time jobs to stay on top of it all. Basically:
- no database platform is 100% compliant, but several come close
- platforms have proprietary additions on top of the standard, so your definition of "fully compliant" may vary from someone else's
OTHER TIPS
No (with examples)
From like the very first page,
<concatenation operator>
is an operator,||
, that returns the character string made by joining its character string operands in the order given.
And as far as I know that's SQL 86.
See also
- INTERVAL types and SQL Server
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURRENT_USER
- hex and bit string literals
TABLE
CORRESPONDING BY
TIMESTAMP WITH TIME ZONE
,TIMESTAMP WITH OUT TIME ZONE
DATE
andTIME
literalsDOMAINS
<set column default clause>
not there, but instead this thing<position expression>