SQL:2011, offisieltISO/IEC 9075:2016 Information technology – Database languages – SQL, er den syvende revisjonen avISO-standarden fordatabase-spørrespråketSQL. Den ble formelt vedtatt i 2011 desember.[1] Standarden består av 9 deler som beskriver SQL i detalj. SQL:2011 har blitt erstattet avSQL:2016.
En av de viktigste nye funksjonene er forbedret støtte fortemporale databaser.[2][3] Forbedringer i språket for definisjon og manipulering av temporale data (tidsdata eller tidsmessige data[klargjør]) inkluderer:
PERIODFOR-notasjonWITHOUTOVERLAPS-klausulenCONTAINS,OVERLAPS,EQUALS,PRECEDES,SUCCEEDS,IMMEDIATELYPRECEDES ogIMMEDIATELYSUCCEEDS (som er modifiserte versjoner avAllens intervallalgebra)PERIODFORSYSTEM_TIME-notasjon ogWITHSYSTEMVERSIONING-modifikatoren. Systemets tidsperioder vedlikeholdes automatisk. Det kreves ikke at betingelser for systemversjonerte tabeller er temporale, og håndheves bare på gjeldende rader.ASOFSYSTEMTIME ogVERSIONSBETWEENSYSTEMTIME...AND...-klausulerSAP HANA 2.0 SP03 støtter systemversjonerte tabeller[4] ved å bruke standard select-syntaksFORSYSTEM_TIMEASOF'<timestamp1>'[5] SAP HANA 2.0 SP04 legger til (delvis) støtte for versjonering av applikasjonstid[6]
IBM DB2 versjon 10 hevder å være den første databasen som har en samsvarende implementering av denne funksjonen i det de kaller "Time Travel Queries",[7][8] selv om de bruker den alternative syntaksenFORSYSTEM_TIMEASOF.
Oracle Oracle 12c støtter temporal funksjonalitet i samsvar med SQL:2011. Versjon 10g og 11g implementerer spørringer på tidsskiver i det de kallerFlashback Queries, ved hjelp av den alternative syntaksenASOFTIMESTAMP.[9] Begge Oracles implementeringer avhenger av databasenstransaksjonslogg, og tillater derfor bare temporale spørringer mot de siste endringene som fortsatt blir beholdt på sikkerhetskopi.
Microsoft SQL Server (versjon 2016) implementerer temporale tabeller medSYSTEM_VERSIONING.[10]
MariaDB 10.3 implementerer systemversjonerte tabeller.[11] MariaDB 10.4.3 la til støtte for applikasjonsversjonerte tabeller.[12]
PostgreSQL krever installasjon avtemporal_tables extension. Den støtter bare temporal tabeller basert på system-tidsperiode, men følger ikke SQL:2011-designet.
Ebean ORM støtter spørringer med HISTORY AS OF og VERSIONS BETWEEN mot PostgreSQL ogMySQL ved bruk avutløsere, historikktabeller og visninger.
CockroachDB har støttetASOFSYSTEMTIME spørsmål siden minstv1. 0. 7.[13][14]