You’re offline, but every Efiwe page you’ve loaded — including this one — is still available.

SQL Dictionary

A beginner-friendly SQL reference that clearly explains every SQL keyword, plus MySQL, SQL Server, and MS Access functions — with category filters for easy lookup and links to where each one appears in the SQL learning game.

Learn SQL
Keyword/FunctionBelongs ToDescription
ADDSQL KeywordsAdds a new column to an existing table.

Introduced in:
SQLLevel 1Challenge 8

ADD CONSTRAINTSQL KeywordsAdds a constraint to a table after the table has already been created.
ALLSQL KeywordsUsed with a subquery — evaluates to true only if every value returned by the subquery satisfies the condition.

Introduced in:
SQLLevel 1Challenge 7

ALTERSQL KeywordsAdds, removes, or modifies columns in a table, or changes a column's data type.

Introduced in:
SQLLevel 1Challenge 11

ALTER COLUMNSQL KeywordsChanges the data type of an existing column in a table.
ALTER TABLESQL KeywordsAdds, removes, or modifies the columns of an existing table.

Introduced in:
SQLLevel 1Challenge 11

ALTER VIEWSQL KeywordsRedefines an existing view.
ANDSQL KeywordsCombines two conditions in a WHERE clause — a row only qualifies if both are true.

Introduced in:
SQLLevel 1Challenge 1

ANYSQL KeywordsUsed with a subquery — evaluates to true if at least one value returned by the subquery satisfies the condition.

Introduced in:
SQLLevel 1Challenge 11

ASSQL KeywordsGives a column or table a temporary alias for the duration of the query.

Introduced in:
SQLLevel 1Challenge 4

ASCSQL KeywordsSorts query results in ascending order (the default sort direction).

Introduced in:
SQLLevel 1Challenge 27

BACKUP DATABASESQL KeywordsCreates a backup copy of an existing database.
BETWEENSQL KeywordsFilters results to values that fall within a specified inclusive range.

Introduced in:
SQLLevel 1Challenge 10

CASESQL KeywordsReturns different output values depending on which of several conditions is met.

Introduced in:
SQLLevel 2Challenge 92

CHECKSQL KeywordsA constraint that restricts the values allowed in a column.

Introduced in:
SQLLevel 2Challenge 76

COLUMNSQL KeywordsRefers to changing the data type of a column, or deleting a column, within a table.

Introduced in:
SQLLevel 1Challenge 1

CONSTRAINTSQL KeywordsAdds or removes a rule that restricts the data allowed in a table.

Introduced in:
SQLLevel 3Challenge 101

CREATESQL KeywordsCreates a new database object — a database, table, index, view, or procedure.

Introduced in:
SQLLevel 1Challenge 7

CREATE DATABASESQL KeywordsCreates a brand-new SQL database.
CREATE INDEXSQL KeywordsBuilds an index on a table's column(s) to speed up lookups; duplicate values are allowed.

Introduced in:
SQLLevel 3Challenge 109

CREATE OR REPLACE VIEWSQL KeywordsCreates a view, or overwrites it if a view with that name already exists.

Introduced in:
SQLLevel 5Challenge 231

CREATE TABLESQL KeywordsCreates a new table with the specified columns in the database.

Introduced in:
SQLLevel 1Challenge 7

CREATE PROCEDURESQL KeywordsDefines a new stored procedure — a saved, reusable block of SQL.
CREATE UNIQUE INDEXSQL KeywordsBuilds an index that also enforces that every value in the indexed column(s) is unique.

Introduced in:
SQLLevel 3Challenge 107

CREATE VIEWSQL KeywordsCreates a virtual table (a view) based on the result set of a SELECT statement.

Introduced in:
SQLLevel 2Challenge 96

DATABASESQL KeywordsRefers to creating or deleting an SQL database.

Introduced in:
SQLLevel 1Challenge 1

DEFAULTSQL KeywordsA constraint that supplies a fallback value for a column when none is provided.

Introduced in:
SQLLevel 1Challenge 26

DELETESQL KeywordsRemoves one or more existing rows from a table.

Introduced in:
SQLLevel 3Challenge 143

DESCSQL KeywordsSorts query results in descending order.

Introduced in:
SQLLevel 1Challenge 27

DISTINCTSQL KeywordsRemoves duplicate rows from the result set, keeping only unique values.

Introduced in:
SQLLevel 1Challenge 32

DROPSQL KeywordsPermanently removes a database object — a column, constraint, database, index, table, or view.

Introduced in:
SQLLevel 2Challenge 100

DROP COLUMNSQL KeywordsPermanently removes a column from a table.

Introduced in:
SQLLevel 5Challenge 228

DROP CONSTRAINTSQL KeywordsRemoves a UNIQUE, PRIMARY KEY, FOREIGN KEY, or CHECK constraint from a table.
DROP DATABASESQL KeywordsPermanently deletes an entire database.
DROP DEFAULTSQL KeywordsRemoves a DEFAULT constraint from a column.
DROP INDEXSQL KeywordsRemoves an index from a table.

Introduced in:
SQLLevel 3Challenge 112

DROP TABLESQL KeywordsPermanently deletes a table and all of its data.

Introduced in:
SQLLevel 3Challenge 143

DROP VIEWSQL KeywordsPermanently deletes a view.

Introduced in:
SQLLevel 2Challenge 100

EXECSQL KeywordsRuns (executes) a stored procedure.
EXISTSSQL KeywordsTests whether a subquery returns any rows at all.

Introduced in:
SQLLevel 1Challenge 8

FOREIGN KEYSQL KeywordsA constraint that links a column to the primary key of another table.

Introduced in:
SQLLevel 2Challenge 59

FROMSQL KeywordsSpecifies which table a query should read from or delete data from.

Introduced in:
SQLLevel 1Challenge 2

FULL OUTER JOINSQL KeywordsReturns every row from both tables, matching them where possible and filling in NULLs where there's no match.

Introduced in:
SQLLevel 5Challenge 242

GROUP BYSQL KeywordsGroups rows that share the same values, typically so aggregate functions (COUNT, MAX, MIN, SUM, AVG) can be applied per group.

Introduced in:
SQLLevel 2Challenge 51

HAVINGSQL KeywordsFilters grouped results — used in place of WHERE when the condition involves an aggregate function.

Introduced in:
SQLLevel 2Challenge 54

INSQL KeywordsChecks whether a column's value matches any value in a given list.

Introduced in:
SQLLevel 1Challenge 2

INDEXSQL KeywordsRefers to creating or deleting an index on a table.

Introduced in:
SQLLevel 3Challenge 107

INNER JOINSQL KeywordsReturns only the rows that have matching values in both joined tables.

Introduced in:
SQLLevel 2Challenge 63

INSERT INTOSQL KeywordsAdds one or more new rows of data into a table.

Introduced in:
SQLLevel 1Challenge 8

INSERT INTO SELECTSQL KeywordsCopies rows from one table into another table.
IS NULLSQL KeywordsTests whether a value is empty (NULL).

Introduced in:
SQLLevel 1Challenge 22

IS NOT NULLSQL KeywordsTests whether a value is not empty (not NULL).

Introduced in:
SQLLevel 1Challenge 23

JOINSQL KeywordsCombines rows from two or more tables based on a related column.

Introduced in:
SQLLevel 2Challenge 63

LEFT JOINSQL KeywordsReturns every row from the left table, plus any matching rows from the right table (NULL where there's no match).

Introduced in:
SQLLevel 2Challenge 67

LIKESQL KeywordsFilters rows using pattern matching against a column's text.

Introduced in:
SQLLevel 1Challenge 4

LIMITSQL KeywordsRestricts the number of rows a query returns.

Introduced in:
SQLLevel 1Challenge 29

NOTSQL KeywordsNegates a condition, so only rows where it's false are included.

Introduced in:
SQLLevel 1Challenge 1

NOT NULLSQL KeywordsA constraint that forces a column to always contain a value.

Introduced in:
SQLLevel 1Challenge 23

ORSQL KeywordsCombines two conditions in a WHERE clause — a row qualifies if either one is true.

Introduced in:
SQLLevel 1Challenge 18

ORDER BYSQL KeywordsSorts the result set by one or more columns, ascending or descending.

Introduced in:
SQLLevel 1Challenge 26

OUTER JOINSQL KeywordsReturns every row from at least one table involved in the join, even without a match on the other side.

Introduced in:
SQLLevel 5Challenge 242

PRIMARY KEYSQL KeywordsA constraint that uniquely identifies every row in a table.

Introduced in:
SQLLevel 1Challenge 7

PROCEDURESQL KeywordsRefers to a stored procedure — a saved routine of SQL statements.
RIGHT JOINSQL KeywordsReturns every row from the right table, plus any matching rows from the left table.

Introduced in:
SQLLevel 2Challenge 73

ROWNUMSQL KeywordsLimits the number of rows returned by a query (Oracle syntax).
SELECTSQL KeywordsRetrieves data from one or more tables.

Introduced in:
SQLLevel 1Challenge 1

SELECT DISTINCTSQL KeywordsRetrieves only the unique values for the selected column(s).

Introduced in:
SQLLevel 1Challenge 32

SELECT INTOSQL KeywordsCopies data from one table into a brand-new table.
SELECT TOPSQL KeywordsLimits the number of rows a query returns (SQL Server / MS Access syntax).
SETSQL KeywordsSpecifies which columns to update and what values to assign, inside an UPDATE statement.

Introduced in:
SQLLevel 1Challenge 12

TABLESQL KeywordsRefers to creating, altering, or dropping a table, or its data.

Introduced in:
SQLLevel 1Challenge 7

TOPSQL KeywordsLimits the number of records a query returns.

Introduced in:
SQLLevel 1Challenge 2

TRUNCATE TABLESQL KeywordsEmpties a table of all its rows while keeping the table structure itself.
UNIONSQL KeywordsCombines the results of two or more SELECT statements, keeping only distinct rows.

Introduced in:
SQLLevel 2Challenge 83

UNION ALLSQL KeywordsCombines the results of two or more SELECT statements, keeping duplicate rows too.

Introduced in:
SQLLevel 2Challenge 84

UNIQUESQL KeywordsA constraint that ensures every value in a column is different from all the others.

Introduced in:
SQLLevel 1Challenge 32

UPDATESQL KeywordsModifies the values of existing rows in a table.

Introduced in:
SQLLevel 1Challenge 12

VALUESSQL KeywordsSupplies the actual data to insert, inside an INSERT INTO statement.

Introduced in:
SQLLevel 1Challenge 7

VIEWSQL KeywordsRefers to creating, updating, or deleting a saved virtual table built from a SELECT query.

Introduced in:
SQLLevel 2Challenge 96

WHERESQL KeywordsFilters a result set down to only the rows that satisfy a given condition.

Introduced in:
SQLLevel 1Challenge 2

ASCIIMySQLReturns the ASCII numeric code of the first character in a string.
CHAR_LENGTHMySQLReturns how many characters are in a string.
CHARACTER_LENGTHMySQLAn alias for CHAR_LENGTH — returns the character count of a string.
CONCATMySQL / SQL ServerJoins two or more strings together into one.

Introduced in:
SQLLevel 2Challenge 85

CONCAT_WSMySQL / SQL ServerJoins two or more strings together, inserting a separator between each one.
FIELDMySQLReturns the 1-based position of a value within a list of values.
FIND_IN_SETMySQLReturns the position of a string inside a comma-separated list of strings.
FORMATMySQLFormats a number with grouped thousands, rounded to a given number of decimals.

Introduced in:
SQLLevel 2Challenge 89

INSERTMySQLInserts a substring into a string at a given position, replacing a specified number of characters.

Introduced in:
SQLLevel 1Challenge 8

INSTRMySQLReturns the position of the first occurrence of a substring inside another string.

Introduced in:
SQLLevel 3Challenge 121

LCASEMySQLConverts a string to lowercase (alias for LOWER).
LEFTMySQL / SQL Server / MS AccessExtracts a given number of characters from the start (left) of a string.

Introduced in:
SQLLevel 2Challenge 67

LENGTHMySQLReturns the length of a string in bytes.

Introduced in:
SQLLevel 1Challenge 41

LOCATEMySQLReturns the position of the first occurrence of a substring within a string.
LOWERMySQL / SQL ServerConverts a string to lowercase.

Introduced in:
SQLLevel 2Challenge 86

LPADMySQLPads a string on the left with another string until it reaches a target length.
LTRIMMySQL / SQL Server / MS AccessStrips leading (left-side) spaces from a string.

Introduced in:
SQLLevel 3Challenge 122

MIDMySQL / MS AccessExtracts a substring starting at a given position within a string.
POSITIONMySQLReturns the position of the first occurrence of a substring within a string.

Introduced in:
SQLLevel 3Challenge 120

REPEATMySQLRepeats a string a specified number of times.
REPLACEMySQL / SQL ServerReplaces every occurrence of a substring within a string with a new substring.

Introduced in:
SQLLevel 3Challenge 123

REVERSEMySQL / SQL ServerReverses the order of characters in a string.

Introduced in:
SQLLevel 2Challenge 99

RIGHTMySQL / SQL Server / MS AccessExtracts a given number of characters from the end (right) of a string.

Introduced in:
SQLLevel 1Challenge 11

RPADMySQLPads a string on the right with another string until it reaches a target length.
RTRIMMySQL / SQL Server / MS AccessStrips trailing (right-side) spaces from a string.

Introduced in:
SQLLevel 3Challenge 122

SPACEMySQL / SQL Server / MS AccessReturns a string made up of a specified number of spaces.

Introduced in:
SQLLevel 5Challenge 207

STRCMPMySQLCompares two strings and returns 0, -1, or 1 depending on how they compare.
SUBSTRMySQLExtracts a substring starting at a given position (alias for SUBSTRING).

Introduced in:
SQLLevel 3Challenge 120

SUBSTRINGMySQLExtracts a substring from a string, starting at a given position.

Introduced in:
SQLLevel 3Challenge 123

SUBSTRING_INDEXMySQLReturns the portion of a string that comes before a specified number of delimiter occurrences.
TRIMMySQLRemoves leading and trailing spaces from a string.

Introduced in:
SQLLevel 3Challenge 122

UCASEMySQLConverts a string to uppercase (alias for UPPER).
UPPERMySQL / SQL ServerConverts a string to uppercase.

Introduced in:
SQLLevel 2Challenge 86

ABSMySQL / SQL Server / MS AccessReturns the absolute (non-negative) value of a number.

Introduced in:
SQLLevel 3Challenge 125

ACOSMySQL / SQL ServerReturns the arc cosine of a number.
ASINMySQL / SQL ServerReturns the arc sine of a number.
ATANMySQLReturns the arc tangent of one number, or of two numbers.
ATAN2MySQLReturns the arc tangent of two numbers.
AVGMySQL / SQL Server / MS AccessReturns the average value of a numeric expression across a group of rows.

Introduced in:
SQLLevel 1Challenge 46

CEILMySQLRounds a number up to the nearest integer that is greater than or equal to it.

Introduced in:
SQLLevel 5Challenge 212

CEILINGMySQLAn alias for CEIL — rounds a number up to the nearest integer.
COSMySQL / SQL ServerReturns the cosine of a number.
COTMySQL / SQL ServerReturns the cotangent of a number.
COUNTMySQL / SQL Server / MS AccessReturns how many rows a SELECT query matched.

Introduced in:
SQLLevel 1Challenge 44

DEGREESMySQL / SQL ServerConverts a value from radians into degrees.
DIVMySQLPerforms integer division, discarding the remainder.
EXPMySQL / SQL Server / MS AccessReturns e (Euler's number) raised to the power of a given number.
FLOORMySQL / SQL ServerRounds a number down to the nearest integer that is less than or equal to it.

Introduced in:
SQLLevel 5Challenge 212

GREATESTMySQLReturns the largest value from a list of arguments.
LEASTMySQLReturns the smallest value from a list of arguments.

Introduced in:
SQLLevel 2Challenge 58

LNMySQLReturns the natural logarithm (base e) of a number.
LOGMySQL / SQL ServerReturns the natural logarithm of a number, or its logarithm to a specified base.
LOG10MySQL / SQL ServerReturns the base-10 logarithm of a number.
LOG2MySQLReturns the base-2 logarithm of a number.
MAXMySQL / SQL Server / MS AccessReturns the largest value in a set of values.

Introduced in:
SQLLevel 1Challenge 47

MINMySQL / SQL Server / MS AccessReturns the smallest value in a set of values.

Introduced in:
SQLLevel 1Challenge 47

MODMySQLReturns the remainder left over after dividing one number by another.

Introduced in:
SQLLevel 5Challenge 214

PIMySQL / SQL ServerReturns the mathematical constant pi.
POWMySQLRaises a number to the power of another number (alias for POWER).
POWERMySQL / SQL ServerRaises a number to the power of another number.

Introduced in:
SQLLevel 5Challenge 213

RADIANSMySQL / SQL ServerConverts a value from degrees into radians.
RANDMySQL / SQL ServerReturns a random floating-point number.
ROUNDMySQL / SQL Server / MS AccessRounds a number to a specified number of decimal places.

Introduced in:
SQLLevel 3Challenge 124

SIGNMySQL / SQL ServerReturns whether a number is negative (-1), zero (0), or positive (1).

Introduced in:
SQLLevel 5Challenge 208

SINMySQL / SQL ServerReturns the sine of a number.
SQRTMySQL / SQL ServerReturns the square root of a number.

Introduced in:
SQLLevel 5Challenge 213

SUMMySQL / SQL Server / MS AccessAdds up a set of numeric values.

Introduced in:
SQLLevel 1Challenge 45

TANMySQL / SQL ServerReturns the tangent of a number.
TRUNCATEMySQLTruncates a number to a specified number of decimal places, without rounding.
ADDDATEMySQLAdds a time/date interval to a date and returns the resulting date.
ADDTIMEMySQLAdds a time interval to a time or datetime value.
CURDATEMySQLReturns today's date.
CURRENT_DATEMySQLReturns today's date (equivalent to CURDATE).
CURRENT_TIMEMySQLReturns the current time.
CURRENT_TIMESTAMPMySQLReturns the current date and time together.
CURTIMEMySQLReturns the current time (equivalent to CURRENT_TIME).
DATEMySQLExtracts just the date portion from a datetime value.

Introduced in:
SQLLevel 2Challenge 89

DATEDIFFMySQLReturns the number of days between two dates.

Introduced in:
SQLLevel 5Challenge 223

DATE_ADDMySQLAdds a time/date interval to a date and returns the resulting date.
DATE_FORMATMySQLFormats a date according to a specified pattern.
DATE_SUBMySQLSubtracts a time/date interval from a date and returns the resulting date.
DAYMySQLReturns the day of the month (1–31) for a given date.

Introduced in:
SQLLevel 2Challenge 90

DAYNAMEMySQLReturns the name of the weekday for a given date (e.g. 'Monday').
DAYOFMONTHMySQLReturns the day of the month for a given date (alias for DAY).
DAYOFWEEKMySQLReturns a numeric index for the weekday of a given date.
DAYOFYEARMySQLReturns which day of the year a given date falls on (1–366).
EXTRACTMySQLPulls a specific part (year, month, day, etc.) out of a date.

Introduced in:
SQLLevel 5Challenge 220

FROM_DAYSMySQLConverts a day-number value back into a calendar date.
HOURMySQL / MS AccessReturns the hour portion of a time or datetime value.
LAST_DAYMySQLReturns the date of the last day of the month for a given date.
LOCALTIMEMySQLReturns the current date and time.
LOCALTIMESTAMPMySQLReturns the current date and time.
MAKEDATEMySQLBuilds a date from a given year and a number of days into that year.
MAKETIMEMySQLBuilds a time value from given hour, minute, and second values.
MICROSECONDMySQLReturns the microsecond portion of a time or datetime value.
MINUTEMySQL / MS AccessReturns the minute portion of a time or datetime value.
MONTHMySQLReturns the month (1–12) for a given date.

Introduced in:
SQLLevel 2Challenge 90

MONTHNAMEMySQLReturns the full name of the month for a given date.
NOWMySQLReturns the current date and time.

Introduced in:
SQLLevel 1Challenge 5

PERIOD_ADDMySQLAdds a given number of months onto a year-month period value.
PERIOD_DIFFMySQLReturns the number of months between two year-month period values.
QUARTERMySQLReturns which quarter of the year (1–4) a given date falls in.
SECONDMySQL / MS AccessReturns the seconds portion of a time or datetime value.

Introduced in:
SQLLevel 1Challenge 2

SEC_TO_TIMEMySQLConverts a number of seconds into a HH:MM:SS time value.
STR_TO_DATEMySQLParses a string into a date, using a specified format.
SUBDATEMySQLSubtracts a time/date interval from a date (alias behavior of DATE_SUB).
SUBTIMEMySQLSubtracts a time interval from a time or datetime value.
SYSDATEMySQLReturns the current date and time at the moment the function actually executes.
TIMEMySQLExtracts just the time portion from a datetime value.

Introduced in:
SQLLevel 1Challenge 2

TIME_FORMATMySQLFormats a time value according to a specified pattern.
TIME_TO_SECMySQLConverts a time value into a total number of seconds.
TIMEDIFFMySQLReturns the difference between two time or datetime values.
TIMESTAMPMySQLConverts a date, or a date and time, into a single datetime value.
TO_DAYSMySQLReturns the number of days between a date and the reference date '0000-00-00'.
WEEKMySQLReturns the week number of the year for a given date.

Introduced in:
SQLLevel 4Challenge 177

WEEKDAYMySQLReturns a numeric weekday index (0 = Monday) for a given date.

Introduced in:
SQLLevel 5Challenge 224

WEEKOFYEARMySQLReturns the calendar week number for a given date.
YEARMySQL / MS AccessReturns the year portion of a given date.

Introduced in:
SQLLevel 2Challenge 90

YEARWEEKMySQLReturns the year and week number combined for a given date.
BINMySQLReturns the binary representation of a number, as a string.
BINARYMySQLConverts a value into a binary string for byte-by-byte comparison.
CASEMySQLSteps through a series of conditions and returns a value for the first one that's true.

Introduced in:
SQLLevel 2Challenge 92

CASTMySQL / SQL ServerConverts a value from one data type into another.

Introduced in:
SQLLevel 4Challenge 180

COALESCEMySQL / SQL ServerReturns the first non-NULL value from a list of expressions.

Introduced in:
SQLLevel 2Challenge 98

CONNECTION_IDMySQLReturns the unique ID of the current database connection.
CONVMySQLConverts a number from one numeric base to another (e.g. decimal to hex).
CONVERTMySQLConverts a value into a specified data type or character set.
CURRENT_USERMySQLReturns the username and host that authenticated the current session.
DATABASEMySQLReturns the name of the currently selected database.

Introduced in:
SQLLevel 1Challenge 1

IFMySQLReturns one value if a condition is true, and another if it's false.

Introduced in:
SQLLevel 1Challenge 33

IFNULLMySQLReturns a fallback value when an expression is NULL, otherwise returns the expression itself.

Introduced in:
SQLLevel 4Challenge 182

ISNULLMySQLReturns 1 if an expression is NULL, and 0 otherwise.
LAST_INSERT_IDMySQLReturns the AUTO_INCREMENT ID generated by the most recent INSERT.
NULLIFMySQL / SQL ServerCompares two expressions and returns NULL if they're equal, otherwise returns the first one.

Introduced in:
SQLLevel 2Challenge 99

SESSION_USERMySQLReturns the current MySQL username and host (alias for CURRENT_USER).
SYSTEM_USERMySQLReturns the current MySQL username and host (alias for CURRENT_USER).
USERMySQLReturns the current MySQL username and host.
VERSIONMySQLReturns the version number of the MySQL server.

Introduced in:
SQLLevel 3Challenge 131

ASCIISQL ServerReturns the ASCII numeric code of a specific character.
CHARSQL ServerReturns the character that corresponds to a given ASCII code.
CHARINDEXSQL ServerReturns the position of a substring within a string.
Concat with +SQL ServerUses the + operator between strings to join them together.

Introduced in:
SQLLevel 2Challenge 85

DATALENGTHSQL ServerReturns the number of bytes used to store an expression.
DIFFERENCESQL ServerCompares the SOUNDEX values of two strings and scores how similar they sound.

Introduced in:
SQLLevel 5Challenge 217

FORMATSQL Server / MS AccessFormats a value according to a specified display format.

Introduced in:
SQLLevel 2Challenge 89

LENSQL Server / MS AccessReturns the length of a string.
NCHARSQL ServerReturns the Unicode character that corresponds to a given number code.
PATINDEXSQL ServerReturns the starting position of a pattern within a string.
QUOTENAMESQL ServerWraps a string in delimiters so it becomes a valid SQL Server identifier.
REPLICATESQL ServerRepeats a string a specified number of times.
SOUNDEXSQL ServerReturns a four-character code representing how a string sounds, for fuzzy matching.
STRSQL Server / MS AccessConverts a number into a string.
STUFFSQL ServerRemoves part of a string and inserts a replacement, starting at a given position.
SUBSTRINGSQL ServerExtracts a specified number of characters from a string, starting at a given position.

Introduced in:
SQLLevel 3Challenge 123

TRANSLATESQL ServerReplaces a set of characters in a string with a corresponding set of replacement characters.

Introduced in:
SQLLevel 1Challenge 1

TRIMSQL ServerRemoves leading and trailing spaces (or other specified characters) from a string.

Introduced in:
SQLLevel 3Challenge 122

UNICODESQL ServerReturns the Unicode code point of the first character of a string.
ATANSQL ServerReturns the arc tangent of a number.
ATN2SQL ServerReturns the arc tangent of two numbers.
CEILINGSQL ServerRounds a number up to the nearest integer that is greater than or equal to it.
SQUARESQL ServerReturns a number multiplied by itself.

Introduced in:
SQLLevel 5Challenge 213

CURRENT_TIMESTAMPSQL ServerReturns the current date and time.
DATEADDSQL Server / MS AccessAdds a time/date interval to a date and returns the resulting date.
DATEDIFFSQL Server / MS AccessReturns the difference between two dates, measured in a given unit.

Introduced in:
SQLLevel 5Challenge 223

DATEFROMPARTSSQL ServerBuilds a date from separate year, month, and day values.
DATENAMESQL ServerReturns a specified part of a date as a readable string (e.g. month name).
DATEPARTSQL Server / MS AccessReturns a specified part of a date as an integer.
DAYSQL Server / MS AccessReturns the day of the month for a given date.

Introduced in:
SQLLevel 2Challenge 90

GETDATESQL ServerReturns the current database system date and time.
GETUTCDATESQL ServerReturns the current database system date and time in UTC.
ISDATESQL ServerChecks whether an expression is a valid date and returns 1 or 0.
MONTHSQL Server / MS AccessReturns the month (1–12) of a given date.

Introduced in:
SQLLevel 2Challenge 90

SYSDATETIMESQL ServerReturns the date and time of the SQL Server, with higher precision than GETDATE.
YEARSQL ServerReturns the year of a given date.

Introduced in:
SQLLevel 2Challenge 90

CONVERTSQL ServerConverts a value from one data type into another, with extra formatting style options.
CURRENT_USERSQL ServerReturns the name of the current database user.
IIFSQL ServerReturns one value if a condition is true, and another if it's false — an inline shortcut for CASE.

Introduced in:
SQLLevel 4Challenge 183

ISNULLSQL ServerReturns a fallback value when an expression is NULL, otherwise returns the expression itself.
ISNUMERICSQL ServerChecks whether an expression evaluates to a valid numeric value.
SESSION_USERSQL ServerReturns the name of the current database user (alias for CURRENT_USER).
SESSIONPROPERTYSQL ServerReturns the current setting of a specified session option.
SYSTEM_USERSQL ServerReturns the login name of the current user.
USER_NAMESQL ServerReturns a database username based on its user ID.
AscMS AccessReturns the ASCII numeric code of a specific character.

Introduced in:
SQLLevel 1Challenge 27

ChrMS AccessReturns the character that corresponds to a given ASCII code.
Concat with &MS AccessUses the & operator between strings to join them together.

Introduced in:
SQLLevel 2Challenge 85

CurDirMS AccessReturns the full path of a specified drive's current directory.
InStrMS AccessReturns the position of the first occurrence of a string within another string.

Introduced in:
SQLLevel 3Challenge 121

InstrRevMS AccessReturns the position of the first occurrence of a string within another, searching from the end.
LCaseMS AccessConverts a string to lowercase.
ReplaceMS AccessReplaces a substring within a string with another substring, up to a specified number of times.

Introduced in:
SQLLevel 3Challenge 123

SplitMS AccessSplits a string into an array of substrings using a delimiter.
StrCompMS AccessCompares two strings and returns a value indicating how they relate.
StrConvMS AccessConverts a string's case or format (e.g. to proper case).
StrReverseMS AccessReverses the order of characters in a string.
TrimMS AccessRemoves both leading and trailing spaces from a string.

Introduced in:
SQLLevel 3Challenge 122

UCaseMS AccessConverts a string to uppercase.
AtnMS AccessReturns the arc tangent of a number.
CosMS AccessReturns the cosine of an angle.
FixMS AccessReturns the integer part of a number, truncating without rounding.

Introduced in:
SQLLevel 1Challenge 5

FormatMS AccessFormats a numeric value according to a specified display format.

Introduced in:
SQLLevel 2Challenge 89

IntMS AccessReturns the integer part of a number, rounding toward negative infinity.
RandomizeMS AccessSeeds the random number generator used by Rnd().
RndMS AccessReturns a random number.
SgnMS AccessReturns whether a number is negative (-1), zero (0), or positive (1).
SqrMS AccessReturns the square root of a number.
ValMS AccessReads a string and returns the numeric value found at its start.
DateMS AccessReturns the current system date.

Introduced in:
SQLLevel 2Challenge 89

DateSerialMS AccessBuilds a date from separate year, month, and day values.
DateValueMS AccessConverts a string into a date value.
FormatMS AccessFormats a date value according to a specified display format.

Introduced in:
SQLLevel 2Challenge 89

MonthNameMS AccessReturns the name of the month for a given month number.
NowMS AccessReturns the current date and time from the computer's system clock.

Introduced in:
SQLLevel 1Challenge 5

TimeMS AccessReturns the current system time.

Introduced in:
SQLLevel 1Challenge 2

TimeSerialMS AccessBuilds a time value from separate hour, minute, and second values.
TimeValueMS AccessConverts a string into a time value.
WeekdayMS AccessReturns a numeric weekday index for a given date.

Introduced in:
SQLLevel 5Challenge 224

WeekdayNameMS AccessReturns the name of the weekday for a given weekday number.
CurrentUserMS AccessReturns the name of the currently logged-in database user.
EnvironMS AccessReturns the value of a specified operating-system environment variable.
IsDateMS AccessChecks whether an expression can be converted into a valid date.
IsNullMS AccessChecks whether an expression holds Null (no data) and returns True or False.
IsNumericMS AccessChecks whether an expression evaluates to a valid number.