web-dev-qa-db-fra.com

Microsoft SQL Server 2016 est-il entièrement conforme à ANSI SQL-92?

J'essaie de trouver une confirmation de conformité pour MS SQL 2016 - si elle est entièrement conforme à la norme ANSI SQL-92 starndard.

J'ai trouvé cet article sur Microsoft Docs qui indique que ce n'est pas le cas, mais il fait référence à ODBC et moteur Microsoft Jet - je ne sais pas si c'est exactement la même chose, cela ne devrait-il pas également concerner T-SQL?

6
Sebastian Widz

Je ne crois pas qu'une version d'une plateforme de base de données sur terre soit entièrement conforme à une version de la norme. C'est probablement pourquoi vous ne trouvez aucune revendication de conformité à 100% ...

Vous pouvez trouver des points de départ prometteurs sur Stack Overflow dans les questions et réponses suivantes: Moteurs de base de données et conformité ANSI SQL

De nombreuses références liées à partir de là ne sont pas conservées car les plates-formes de base de données évoluent tout le temps et ce serait de nombreux emplois à temps plein pour rester au top. Fondamentalement:

  • aucune plate-forme de base de données n'est conforme à 100%, mais plusieurs se rapprochent
  • les plates-formes ont des ajouts propriétaires en plus de la norme, donc votre définition de "entièrement conforme" peut différer de celle de quelqu'un d'autre
12
John aka hot2use

Non (avec des exemples)

Depuis la toute première page,

<concatenation operator> est un opérateur, ||, qui renvoie la chaîne de caractères créée en joignant ses opérandes de chaîne de caractères dans l'ordre donné.

SQL Server utilise +.

Et pour autant que je sache, c'est SQL 86.

Voir également

  • types INTERVAL et SQL Server
  • CURRENT_DATECURRENT_TIMECURRENT_TIMESTAMPCURRENT_USER
  • littéraux hex et chaîne de bits
  • TABLE
  • CORRESPONDING BY
  • TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH OUT TIME ZONE
  • DATE et TIME littéraux
  • DOMAINS
  • <set column default clause> pas là, mais à la place cette chose
  • <position expression>
1
Evan Carroll