-- SQL Server 2019 --! Data types -- https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-types-transact-sql?view=sqlallproducts-allversions -- Exact numerics bigint bit decimal int money numeric smallint smallmoney tinyint -- Approximate numerics float real -- Date and time date datetime datetime2 datetimeoffset smalldatetime time -- Character strings char text varchar -- Unicode character strings nchar ntext nvarchar -- Binary strings binary image varbinary -- Other data types cursor hierarchyid rowversion sql_variant table uniqueidentifier xml geometry geography -- https://docs.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql?view=sqlallproducts-allversions --! keywords -- SQL Server and Azure SQL Data Warehouse ADD ALL ALTER AND ANY AS ASC AUTHORIZATION BACKUP BEGIN BETWEEN BREAK BROWSE BULK BY CASCADE CASE CHECK CHECKPOINT CLOSE CLUSTERED COALESCE COLLATE COLUMN COMMIT COMPUTE CONSTRAINT CONTAINS CONTAINSTABLE CONTINUE CONVERT CREATE CROSS CURRENT CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR DATABASE DBCC DEALLOCATE DECLARE DEFAULT DELETE DENY DESC DISK DISTINCT DISTRIBUTED DOUBLE DROP DUMP ELSE END ERRLVL ESCAPE EXCEPT EXEC EXECUTE EXISTS EXIT EXTERNAL FETCH FILE FILLFACTOR FOR FOREIGN FREETEXT FREETEXTTABLE FROM FULL FUNCTION GOTO GRANT GROUP HAVING HOLDLOCK IDENTITY IDENTITY_INSERT IDENTITYCOL IF IN INDEX INNER INSERT INTERSECT INTO IS JOIN KEY KILL LEFT LIKE LINENO LOAD MERGE NATIONAL NOCHECK NONCLUSTERED NOT NULL NULLIF OF OFF OFFSETS ON OPEN OPENDATASOURCE OPENQUERY OPENROWSET OPENXML OPTION OR ORDER OUTER OVER PERCENT PIVOT PLAN PRECISION PRIMARY PRINT PROC PROCEDURE PUBLIC RAISERROR READ READTEXT RECONFIGURE REFERENCES REPLICATION RESTORE RESTRICT RETURN REVERT REVOKE RIGHT ROLLBACK ROWCOUNT ROWGUIDCOL RULE SAVE SCHEMA SECURITYAUDIT SELECT SEMANTICKEYPHRASETABLE SEMANTICSIMILARITYDETAILSTABLE SEMANTICSIMILARITYTABLE SESSION_USER SET SETUSER SHUTDOWN SOME STATISTICS SYSTEM_USER TABLE TABLESAMPLE TEXTSIZE THEN TO TOP TRAN TRANSACTION TRIGGER TRUNCATE TRY_CONVERT TSEQUAL UNION UNIQUE UNPIVOT UPDATE UPDATETEXT USE USER VALUES VARYING VIEW WAITFOR WHEN WHERE WHILE WITH WITHIN GROUP WRITETEXT -- keywords that are exclusive to Azure SQL Data Warehouse LABEL -- ODBC Reserved Keywords ABSOLUTE ACTION ADA ADD ALL ALLOCATE ALTER AND ANY ARE AS ASC ASSERTION AT AUTHORIZATION AVG BEGIN BETWEEN BIT BIT_LENGTH BOTH BY CASCADE CASCADED CASE CAST CATALOG CHAR CHAR_LENGTH CHARACTER CHARACTER_LENGTH CHECK CLOSE COALESCE COLLATE COLLATION COLUMN COMMIT CONNECT CONNECTION CONSTRAINT CONSTRAINTS CONTINUE CONVERT CORRESPONDING COUNT CREATE CROSS CURRENT CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR DATE DAY DEALLOCATE DEC DECIMAL DECLARE DEFAULT DEFERRABLE DEFERRED DELETE DESC DESCRIBE DESCRIPTOR DIAGNOSTICS DISCONNECT DISTINCT DOMAIN DOUBLE DROP ELSE END END-EXEC ESCAPE EXCEPT EXCEPTION EXEC EXECUTE EXISTS EXTERNAL EXTRACT FALSE FETCH FIRST FLOAT FOR FOREIGN FORTRAN FOUND FROM FULL GET GLOBAL GO GOTO GRANT GROUP HAVING HOUR IDENTITY IMMEDIATE IN INCLUDE INDEX INDICATOR INITIALLY INNER INPUT INSENSITIVE INSERT INT INTEGER INTERSECT INTERVAL INTO IS ISOLATION JOIN KEY LANGUAGE LAST LEADING LEFT LEVEL LIKE LOCAL LOWER MATCH MAX MIN MINUTE MODULE MONTH NAMES NATIONAL NATURAL NCHAR NEXT NO NONE NOT NULL NULLIF NUMERIC OCTET_LENGTH OF ON ONLY OPEN OPTION OR ORDER OUTER OUTPUT OVERLAPS PAD PARTIAL PASCAL POSITION PRECISION PREPARE PRESERVE PRIMARY PRIOR PRIVILEGES PROCEDURE PUBLIC READ REAL REFERENCES RELATIVE RESTRICT REVOKE RIGHT ROLLBACK ROWS SCHEMA SCROLL SECOND SECTION SELECT SESSION SESSION_USER SET SIZE SMALLINT SOME SPACE SQL SQLCA SQLCODE SQLERROR SQLSTATE SQLWARNING SUBSTRING SUM SYSTEM_USER TABLE TEMPORARY THEN TIME TIMESTAMP TIMEZONE_HOUR TIMEZONE_MINUTE TO TRAILING TRANSACTION TRANSLATE TRANSLATION TRIM TRUE UNION UNIQUE UNKNOWN UPDATE UPPER USAGE USER USING VALUE VALUES VARCHAR VARYING VIEW WHEN WHENEVER WHERE WITH WORK WRITE YEAR ZONE -- Future Keywords ABSOLUTE ACTION ADMIN AFTER AGGREGATE ALIAS ALLOCATE ARE ARRAY ASENSITIVE ASSERTION ASYMMETRIC AT ATOMIC BEFORE BINARY BIT BLOB BOOLEAN BOTH BREADTH CALL CALLED CARDINALITY CASCADED CAST CATALOG CHAR CHARACTER CLASS CLOB COLLATION COLLECT COMPLETION CONDITION CONNECT CONNECTION CONSTRAINTS CONSTRUCTOR CORR CORRESPONDING COVAR_POP COVAR_SAMP CUBE CUME_DIST CURRENT_CATALOG CURRENT_DEFAULT_TRANSFORM_GROUP CURRENT_PATH CURRENT_ROLE CURRENT_SCHEMA CURRENT_TRANSFORM_GROUP_FOR_TYPE CYCLE DATA DATE DAY DEC DECIMAL DEFERRABLE DEFERRED DEPTH DEREF DESCRIBE DESCRIPTOR DESTROY DESTRUCTOR DETERMINISTIC DIAGNOSTICS DICTIONARY DISCONNECT DOMAIN DYNAMIC EACH ELEMENT END-EXEC EQUALS EVERY EXCEPTION FALSE FILTER FIRST FLOAT FOUND FREE FULLTEXTTABLE FUSION GENERAL GET GLOBAL GO GROUPING HOLD HOST HOUR IGNORE IMMEDIATE INDICATOR INITIALIZE INITIALLY INOUT INPUT INT INTEGER INTERSECTION INTERVAL ISOLATION ITERATE LANGUAGE LARGE LAST LATERAL LEADING LESS LEVEL LIKE_REGEX LIMIT LN LOCAL LOCALTIME LOCALTIMESTAMP LOCATOR MAP MATCH MEMBER METHOD MINUTE MOD MODIFIES MODIFY MODULE MONTH MULTISET NAMES NATURAL NCHAR NCLOB NEW NEXT NO NONE NORMALIZE NUMERIC OBJECT OCCURRENCES_REGEX OLD ONLY OPERATION ORDINALITY OUT OUTPUT OVERLAY PAD PARAMETER PARAMETERS PARTIAL PARTITION PATH PERCENT_RANK PERCENTILE_CONT PERCENTILE_DISC POSITION_REGEX POSTFIX PREFIX PREORDER PREPARE PRESERVE PRIOR PRIVILEGES RANGE READS REAL RECURSIVE REF REFERENCING REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY RELATIVE RELEASE RESULT RETURNS ROLE ROLLUP ROUTINE ROW ROWS SAVEPOINT SCOPE SCROLL SEARCH SECOND SECTION SENSITIVE SEQUENCE SESSION SETS SIMILAR SIZE SMALLINT SPACE SPECIFIC SPECIFICTYPE SQL SQLEXCEPTION SQLSTATE SQLWARNING START STATE STATEMENT STATIC STDDEV_POP STDDEV_SAMP STRUCTURE SUBMULTISET SUBSTRING_REGEX SYMMETRIC SYSTEM TEMPORARY TERMINATE THAN TIME TIMESTAMP TIMEZONE_HOUR TIMEZONE_MINUTE TRAILING TRANSLATE_REGEX TRANSLATION TREAT TRUE UESCAPE UNDER UNKNOWN UNNEST USAGE USING VALUE VAR_POP VAR_SAMP VARCHAR VARIABLE WHENEVER WIDTH_BUCKET WINDOW WITHIN WITHOUT WORK WRITE XMLAGG XMLATTRIBUTES XMLBINARY XMLCAST XMLCOMMENT XMLCONCAT XMLDOCUMENT XMLELEMENT XMLEXISTS XMLFOREST XMLITERATE XMLNAMESPACES XMLPARSE XMLPI XMLQUERY XMLSERIALIZE XMLTABLE XMLTEXT XMLVALIDATE YEAR ZONE -- Statements -- General ADD SENSITIVITY CLASSIFICATION BULK INSERT DELETE DISABLE TRIGGER ENABLE TRIGGER INSERT UPDATE MERGE RENAME TRUNCATE TABLE UPDATE STATISTICS ALTER APPLICATION ROLE ASSEMBLY ASYMMETRIC KEY AUTHORIZATION AVAILABILITY GROUP BROKER PRIORITY CERTIFICATE COLUMN ENCRYPTION KEY CREDENTIAL CRYPTOGRAPHIC PROVIDER DATABASE DATABASE AUDIT SPECIFICATION DATABASE ENCRYPTION KEY DATABASE HADR DATABASE SCOPED CREDENTIAL DATABASE SCOPED CONFIGURATION DATABASE SET Options ENDPOINT EVENT SESSION EXTERNAL DATA SOURCE EXTERNAL LANGUAGE EXTERNAL LIBRARY EXTERNAL RESOURCE POOL FULLTEXT CATALOG FULLTEXT INDEX FULLTEXT STOPLIST FUNCTION INDEX LOGIN MASTER KEY MATERIALIZED VIEW MESSAGE TYPE PARTITION FUNCTION PARTITION SCHEME PROCEDURE QUEUE REMOTE SERVICE BINDING RESOURCE GOVERNOR RESOURCE POOL ROLE ROUTE SCHEMA SEARCH PROPERTY LIST SECURITY POLICY SEQUENCE SERVER AUDIT SERVER AUDIT SPECIFICATION SERVER CONFIGURATION SERVER ROLE SERVICE SERVICE MASTER KEY SYMMETRIC KEY TABLE TRIGGER USER VIEW WORKLOAD GROUP XML SCHEMA COLLECTION -- Backup & restore BACKUP BACKUP CERTIFICATE BACKUP MASTER KEY BACKUP SERVICE MASTER KEY RESTORE RESTORE FILELISTONLY RESTORE HEADERONLY RESTORE LABELONLY RESTORE MASTER KEY RESTORE SERVICE MASTER KEY RESTORE REWINDONLY RESTORE VERIFYONLY CREATE AGGREGATE APPLICATION ROLE ASSEMBLY ASYMMETRIC KEY AVAILABILITY GROUP BROKER PRIORITY CERTIFICATE COLUMNSTORE INDEX COLUMN ENCRYPTION KEY COLUMN MASTER KEY CONTRACT CREDENTIAL CRYPTOGRAPHIC PROVIDER DATABASE DATABASE AUDIT SPECIFICATION DATABASE ENCRYPTION KEY DATABASE SCOPED CREDENTIAL DEFAULT ENDPOINT EVENT NOTIFICATION EVENT SESSION EXTERNAL DATA SOURCE EXTERNAL LANGUAGE EXTERNAL LIBRARY EXTERNAL FILE FORMAT EXTERNAL RESOURCE POOL EXTERNAL TABLE FULLTEXT CATALOG FULLTEXT INDEX FULLTEXT STOPLIST FUNCTION INDEX LOGIN MASTER KEY MESSAGE TYPE PARTITION FUNCTION PARTITION SCHEME PROCEDURE QUEUE REMOTE SERVICE BINDING RESOURCE POOL ROLE ROUTE RULE SCHEMA SEARCH PROPERTY LIST SECURITY POLICY SELECTIVE XML INDEX SEQUENCE SERVER AUDIT SERVER AUDIT SPECIFICATION SERVER ROLE SERVICE SPATIAL INDEX STATISTICS SYMMETRIC KEY SYNONYM TABLE TABLE IDENTITY TRIGGER TYPE USER VIEW WORKLOAD GROUP XML INDEX XML INDEX XML SCHEMA COLLECTION DROP AGGREGATE APPLICATION ROLE ASSEMBLY ASYMMETRIC KEY AVAILABILITY GROUP BROKER PRIORITY CERTIFICATE COLUMN ENCRYPTION KEY COLUMN MASTER KEY CONTRACT CREDENTIAL CRYPTOGRAPHIC PROVIDER DATABASE DATABASE AUDIT SPECIFICATION DATABASE ENCRYPTION KEY DATABASE SCOPED CREDENTIAL DEFAULT ENDPOINT EXTERNAL DATA SOURCE EXTERNAL FILE FORMAT EXTERNAL LANGUAGE EXTERNAL LIBRARY EXTERNAL RESOURCE POOL EXTERNAL TABLE EVENT NOTIFICATION EVENT SESSION FULLTEXT CATALOG FULLTEXT INDEX FULLTEXT STOPLIST FUNCTION INDEX LOGIN MASTER KEY MESSAGE TYPE PARTITION FUNCTION PARTITION SCHEME PROCEDURE QUEUE REMOTE SERVICE BINDING RESOURCE POOL ROLE ROUTE RULE SCHEMA SEARCH PROPERTY LIST SECURITY POLICY SENSITIVITY CLASSIFICATION SEQUENCE SERVER AUDIT SERVER AUDIT SPECIFICATION SERVER ROLE SERVICE SIGNATURE STATISTICS SYMMETRIC KEY SYNONYM TABLE TRIGGER TYPE USER VIEW WORKLOAD CLASSIFIER WORKLOAD GROUP XML SCHEMA COLLECTION -- Permissions ADD SIGNATURE CLOSE MASTER KEY CLOSE SYMMETRIC KEY DENY EXECUTE AS GRANT OPEN MASTER KEY OPEN SYMMETRIC KEY REVERT REVOKE SETUSER -- Service Broker BEGIN CONVERSATION TIMER BEGIN DIALOG CONVERSATION END CONVERSATION GET CONVERSATION GROUP GET_TRANSMISSION_STATUS MOVE CONVERSATION RECEIVE SEND SET ANSI_DEFAULTS ANSI_NULL_DFLT_OFF ANSI_NULL_DFLT_ON ANSI_NULLS ANSI_PADDING ANSI_WARNINGS ARITHABORT ARITHIGNORE CONCAT_NULL_YIELDS_NULL CONTEXT_INFO CURSOR_CLOSE_ON_COMMIT DATEFIRST DATEFORMAT DEADLOCK_PRIORITY FIPS_FLAGGER FMTONLY FORCEPLAN IDENTITY_INSERT IMPLICIT_TRANSACTIONS LANGUAGE LOCK_TIMEOUT NOCOUNT NOEXEC NUMERIC_ROUNDABORT OFFSETS PARSEONLY QUERY_GOVERNOR_COST_LIMIT QUOTED_IDENTIFIER REMOTE_PROC_TRANSACTIONS RESULT SET CACHING ROWCOUNT SHOWPLAN_ALL SHOWPLAN_TEXT SHOWPLAN_XML STATISTICS IO STATISTICS PROFILE STATISTICS TIME STATISTICS XML TEXTSIZE TRANSACTION ISOLATION LEVEL XACT_ABORT