Page History
This document details Aqua Data Studio's Excel SQL syntax and functions. Supported functions include Aggregate Functions, Numeric Functions, String Functions, Time and Date Functions.
Table of Contents |
---|
Aggregate Functions New in 17.0
Numeric Functions New in 17.0
String Functions New in 17.0
Time and Date Functions New in 17.0
...
Anchor | ||||
---|---|---|---|---|
|
Table of Contents | ||
---|---|---|
|
Aggregate Functions (New in 17.0
...
)
Aggregate Functions
AVG
Returns the average (mean) value. If no rows are selected, the result is NULL. Aggregates are only allowed in select statements. The returned value is of the same data type as the parameter.
Example
Code Block |
---|
SELECT AVG(Salary) FROM Employee |
...
COUNT
Returns the count of all rows, or of non-null values.
Example
Code Block |
---|
SELECT COUNT(*) FROM Employee
GO
SELECT COUNT(ID) FROM Employee
GO |
...
MAX
Returns the highest value.
Example
Code Block |
---|
SELECT MAX(Salary) FROM Employee |
...
MIN
Returns the lowest value.
Example
Code Block |
---|
SELECT MIN(Salary) FROM |
...
Employee |
SUM
Returns the sum of all values.
Example
Code Block |
---|
SELECT SUM(Salary) FROM Employee |
GROUP_CONCAT
Concatenates strings with a separator. The default separator is a ',' (without space). This method returns a string. If no rows are selected, the result is NULL
. Aggregates are only allowed in select statements.
Example
Code Block |
---|
SELECT GROUP_CONCAT(First_name ORDER BY E_id SEPARATOR ';') FROM Employee |
...
SELECTIVITY
Estimates the selectivity (0-100) of a value. The value is defined as (100 * distinctCount / rowCount). The selectivity of 0 rows is 0 (unknown). Up to 10000 values are kept in memory. Aggregates are only allowed in select statements.
ExampleExample
Code Block |
---|
SELECT SELECTIVITY(First_name), SELECTIVITY(City) FROM Employee WHERE ROWNUM() < 2 |
BOOL_AND, BOOL_OR
BOOL_AND returns true if all expressions are true. BOOL_OR returns true if any expression is true.
Example
Code Block |
---|
SELECT BOOL_AND(ID > 100) FROM Employee |
Example
Code Block |
---|
SELECT BOOL_OR(Name LIKE 'W%') FROM Employee |
STDDEV_POP, STDDEV_SAMP
STDDEV_POP returns the population standard deviation while STDDEV_SAMP returns the sample standard deviation.
Example
Code Block |
---|
SELECT STDDEV_POP(DISTINCT ID) FROM Employee |
Example
Code Block |
---|
SELECT STDDEV_SAMP(ID) FROM Employee |
...
VAR_POP, VAR_SAMP
VAR_POP returns the population variance while VAR_SAMP returns the sample variance.
Example
Code Block |
---|
SELECT VAR_POP(ID) FROM Employee |
Example
Code Block |
---|
SELECT VAR_SAMP(ID) FROM Employee |
Numeric Functions (New in 17.0)
ABS
Returns the absolute value of the numeric expression.
Example
Code Block |
---|
SELECT ABS(Salary) FROM Employee |
...
ACOS
Returns the arc cosine.
Example
Code Block |
---|
SELECT ACOS(D) FROM Employee |
...
ASIN
Returns the arc sine.
Example
Code Block |
---|
SELECT ASIN(D) FROM Employee |
...
ATAN
Calculates the arc tangent.
ExampleExample
Code Block |
---|
SELECT ATAN(D) FROM Employee |
...
COS, COSH
COS returns the trigonometric cosine whereas COSH returns the hyperbolic cosine.
Example
Code Block |
---|
SELECT COS(ANGLE) FROM Employee |
...
Example
Code Block |
---|
SELECT COSH(X) FROM Employee |
...
COT
Calculates the trigonometric cotangent.
Example
Code Block |
---|
SELECT COT(ANGLE) FROM Employee |
...
SIN, SINH
SIN returns the trigonometric sine whereas SINH returns the hyperbolic sine.
Example
Code Block |
---|
SELECT SIN(ANGLE) FROM Employee |
...
Example
Code Block |
---|
SELECT SINH(ANGLE) FROM Employee |
...
TAN, TANH
TAN calculates the trigonometric tangent whereas TANH calculates the hyperbolic tangent.
Example
Code Block |
---|
SELECT TAN(ANGLE) FROM Employee |
...
Example
Code Block |
---|
SELECT TANH(X) FROM Employee |
...
ATAN2
Calculates the angle when converting the rectangular coordinates to polar coordinates.
Example
Code Block |
---|
SELECT ATAN2(X,Y) FROM Employee |
...
MOD
The modulo operation. This method returns a long.
Example
Code Block |
---|
SELECT MOD(Salary, Deduction) FROM Employee |
...
CEILING
Returns the smallest integer greater than or equal to the specified numeric expression.
Example
Code Block |
---|
SELECT CEILING(Salary), CEILING(123.45), CEILING(0.0) FROM Employee |
...
DEGREES
Converts an angle measured in radians to an approximately equivalent angle measured in degrees.
Example
Code Block |
---|
SELECT DEGREES(A) FROM Employee |
...
EXP
Returns Euler's number e raised to the power of a numeric value.
Example
Code Block |
---|
SELECT EXP(LOG(20)), LOG(EXP(20)) FROM Employee |
...
FLOOR
Returns the largest integer less than or equal to the specified numeric expression.
Example
Code Block |
---|
SELECT FLOOR(Salary), FLOOR(-123.45), FLOOR(123.45) FROM Employee |
...
LOG, LOG10
LOG returns the natural logarithm whereas LOG10 returns the base-10 logarithm.
Example
Code Block |
---|
SELECT LOG(ID) FROM Employee
|
Example
Code Block |
---|
SELECT LOG10(ID) FROM Employee |
...
RADIANS
Converts an angle measured in degrees to an approximately equivalent angle measured in radians.
Example
Code Block |
---|
SELECT RADIANS(A) FROM Employee |
...
SQRT
Returns the square root of a numerical value.
Example
Code Block |
---|
SELECT SQRT(Salary) FROM Employee |
...
PI
Returns the value of PI.
Example
Code Block |
---|
SELECT PI() FROM Employee |
...
POWER
Returns the base to the exponent power of a numerical value.
Example
Code Block |
---|
SELECT POWER(ID,3) FROM Employee |
...
RAND
Calling the function without parameter returns the next pseudo random number. Calling it with a parameter seeds the session's random number generator. This method returns a double between 0 (including) and 1 (excluding).
Example
Code Block |
---|
SELECT * FROM Employee ORDER BY RAND() |
RANDOM_UUID
Returns a new UUID with 122 pseudo random bits.
ExampleExample
Code Block |
---|
SELECT * FROM Employee ORDER BY RANDOM_UUID() |
...
ROUND
Rounds to a number of digits, or to the nearest long if the number of digits is not set. This method returns a numeric (the same type as the input).
Example
Code Block |
---|
SELECT First_name, ROUND(Salary, 1) FROM Employee |
SECURE_RAND
Generates a number of cryptographically secure random numbers. This method returns bytes.
Example
Code Block |
---|
SELECT SECURE_RAND(16) FROM Employee |
...
SIGN
Returns -1 if the value is smaller than 0, 0 if zero, and otherwise 1.
Example
Code Block |
---|
SELECT SIGN(ID) FROM Employee |
...
ENCRYPT
Encrypts data using a key. The supported algorithm is AES. The block size is 16 bytes. This method returns bytes.
Example
Code Block |
---|
SELECT ENCRYPT('AES', '00', STRINGTOUTF8('Test')) FROM Employee |
...
DECRYPT
Decrypts data using a key. The supported algorithm is AES. The block size is 16 bytes. This method returns bytes.
Example
Code Block |
---|
SELECT DECRYPT('AES', '00', STRINGTOUTF8('Test')) FROM Employee |
...
HASH
Calculates the hash value using an algorithm, and repeats this process for a number of iterations. Currently, the only algorithm supported is SHA256. This method returns bytes.
Example
Code Block |
---|
SELECT HASH('SHA256', STRINGTOUTF8('Password'), 1000) FROM Employee |
TRUNCATE
Truncates to a number of digits (to the next value closer to 0). This method returns a double. When used with a timestamp, truncates a timestamp to a date (day) value. When used with a date, truncates a date to a date (day) value less time part. When used with a timestamp as string, truncates a timestamp to a date (day) value.
Example
Code Block |
---|
SELECT TRUNCATE(E_id, 2) FROM Employee |
COMPRESS
Compresses the data using the specified compression algorithm. Supported algorithms are: LZF (faster but lower compression; default), and DEFLATE (higher compression).
Example
Code Block |
---|
SELECT COMPRESS(STRINGTOUTF8('Jon')) FROM Employee |
EXPAND
Expands data that was compressed using the COMPRESS function. This method returns bytes.
Example
Code Block |
---|
SELECT UTF8TOSTRING(EXPAND(COMPRESS(STRINGTOUTF8('Jon')))) FROM Employee |
...
ZERO
Returns the value 0.
Example
Code Block |
---|
SELECT ZERO() FROM Employee |
String Functions (New in 17.0)
ASCII
Returns the ASCII value of the first character in the string. This method returns an int.
Example
Code Block |
---|
SELECT Fname, ASCII(Fname) FROM Employee |
...
BIT_LENGTH
Returns the number of bits in a string.
Example
Code Block |
---|
SELECT Fname, BIT_LENGTH(Fname) FROM Employee |
...
LENGTH
Returns the number of characters in a string.
Example
Code Block |
---|
SELECT City, LENGTH(City) FROM Employee |
CHAR
Returns the character that represents the ASCII value.
Example
Code Block |
---|
SELECT CHAR(65) FROM Employee |
...
CONCAT
CONCAT combines strings.
Example
Code Block |
---|
SELECT CONCAT(Fname, SPACE(3), City) FROM Employee |
DIFFERENCE
Returns the difference between the sounds of two strings.
Example
Code Block |
---|
SELECT DIFFERENCE(Fname, City) FROM Employee |
LOWER
Converts a string to lowercase.
ExampleExample
Code Block |
---|
SELECT LOWER(Fname) FROM Employee |
UPPER
Converts a string to uppercase.
Example
Code Block |
---|
SELECT UPPER(Fname) FROM Employee |
LEFT
Returns the leftmost number of characters.
Example
Code Block |
---|
SELECT LEFT(Fname, 2) FROM Employee |
RIGHT
Returns the rightmost number of characters.
Example
Code Block |
---|
SELECT RIGHT(Fname, 2) FROM Employee |
LOCATE
LOCATE(searchString, string [, start_position])
Returns the location of a search string in a string. If a start position is used, the characters before it are ignored. If position is negative, the rightmost location is returned. 0 is returned if the search string is not found.
Example
Code Block |
---|
SELECT Fname, LOCATE('le',Fname) FROM Employee |
...
POSITION
POSITION(searchString, string)
Returns the location of a search string in a string. See also LOCATE.
Example
Code Block |
---|
SELECT POSITION('J', Fname) FROM Employee |
LPAD, RPAD
LPAD(string, int [, paddingString])
RPAD(string, int [, paddingString])
Left pad the string to the specified length. If the length is shorter than the string, it will be truncated at the end. If the padding string is not set, spaces will be used. The RPAD Right pad the string to the specified length. If the length is shorter than the string, it will be truncated. If the padding string is not set, spaces will be used. Example: RPAD(AMOUNT, 10, '*')
Example
Code Block |
---|
SELECT LPAD(Fname,9,'@') FROM Employee |
Example
Code Block |
---|
SELECT RPAD(Fname,9,'*') FROM Employee |
LTRIM, RTRIM
LTRIM removes all leading spaces from a string. RTRIM removes all trailing spaces from a string.
Example
Code Block |
---|
SELECT LTRIM(Fname),City FROM Employee |
Example
Code Block |
---|
SELECT RTRIM(Fname),City FROM Employee |
TRIM
TRIM([option] [trimString] [FROM] string)
...
Removes all leading spaces, trailing spaces, or spaces at both ends, from a string. Other characters can be removed as well.
Example
Code Block |
---|
SELECT TRIM(BOTH '_' FROM Fname) FROM Employee |
REPEAT
REPEAT(string, int)
Returns a string repeated some number of times.
Example
Code Block |
---|
SELECT REPEAT (Fname,3) FROM Employee WHERE Fname LIKE'T%' |
REPLACE
REPLACE(string, searchString [, replacementString])
Replaces all occurrences of a search string in a text with another string. If no replacement is specified, the search string is removed from the original string. If any parameter is null, the result is null.
Example
Code Block |
---|
SELECT REPLACE(Fname, ' ') FROM Employee |
...
SUBSTRING, SUBSTR
SUBSTRING(string, startint [, lengthint])
Returns a substring of a string starting at a position. If the start index is negative, then the start index is relative to the end of the string. The length is optional. Also supported is: SUBSTRING(string [FROM start] [FOR length]).
Example
Code Block |
---|
SELECT SUBSTR('[Hello]', 1, 3) FROM Employee |
...
TO_CHAR
TO_CHAR(value [, formatString] [, nlsParamString])
TO_CHAR function is used to format a timestamp, a number, or text.
Example
Code Block |
---|
SELECT TO_CHAR(TIMESTAMP '2010-01-01 00:00:00', 'DD MON, YYYY') FROM Employee |
...
SPACE
Returns a string consisting of a number of spaces.
Example
Code Block |
---|
SELECT E_id,Fname,space(10),City FROM Employee |
STRINGDECODE
Converts a encoded string using the Java string literal encoding format. Special characters are \b, \t, \n, \f, \r, \", \\, \<octal>, \u<unicode>. This method returns a string.
Example
Code Block |
---|
SELECT STRINGENCODE(STRINGDECODE('Lines 1\nLine 2')) FROM Employee |
STRINGENCODE
Encodes special characters in a string using the Java string literal encoding format. Special characters are \b, \t, \n, \f, \r, \", \\, \<octal>, \u<unicode>. This method returns a string.
Example
Code Block |
---|
SELECT STRINGENCODE(STRINGDECODE('Lines 1\nLine 2')) FROM Employee |
...
STRINGTOUTF8
Encodes a string to a byte array using the UTF8 encoding format. This method returns bytes.
Example
Code Block |
---|
SELECT UTF8TOSTRING(STRINGTOUTF8('This is a test')) FROM Employee |
...
UTF8TOSTRING
Decodes a byte array in the UTF8 format to a string.
Example
Code Block |
---|
SELECT UTF8TOSTRING(STRINGTOUTF8('This is a test')) FROM Employee |
...
XMLATTR
XMLATTR(nameString, valueString)
Creates an XML attribute element of the form name=value. The value is encoded as XML text. This method returns a string.
Example
Code Block |
---|
SELECT XMLNODE('a', XMLATTR('p_name', 'http://h2database.com')) FROM Employee |
...
XMLNODE
XMLNODE(elementString [, attributesString [, contentString [, indentBoolean]]])
Create an XML node element.
Example
Code Block |
---|
SELECT XMLNODE('a', XMLATTR('href', 'http://h2database.com'), 'H2') FROM Employee |
...
XMLCOMMENT
XMLCOMMENT(commentString)
Creates an XML comment. Two dashes (--) are converted to - -. This method returns a string.
Example
Code Block |
---|
SELECT XMLCOMMENT('Comment on XML') FROM Employee |
...
XMLCDATA
XMLCDATA(valueString)
Creates an XML CDATA element. If the value contains ]]>, an XML text element is created instead. This method returns a string.
Example
Code Block |
---|
SELECT XMLCDATA('data') FROM Employee |
...
XMLSTARTDOC
Returns the XML declaration. The result is always <?xml version=1.0?>.
Example
Code Block |
---|
SELECT XMLSTARTDOC() FROM Employee |
...
XMLTEXT
XMLTEXT(valueString [,escapeNewlineBoolean])
Creates an XML text element. If enabled, newline and linefeed is converted to an XML entity (&#). This method returns a string.
Example
Code Block |
---|
SELECT XMLTEXT('Text data') FROM Employee |
...
Time and Date Functions (New in 17.0)
CURRENT_DATE
Returns the current date.
Example
Code Block |
---|
SELECT CURRENT_DATE() FROM Employee |
CURRENT_TIME
Returns the current time.
Example
Code Block |
---|
SELECT CURRENT_TIME() FROM Employee |
CURRENT_TIMESTAMP
Returns the current timestamp.
Example
Code Block |
---|
SELECT CURRENT_TIMESTAMP() FROM Employee |
...
DATEADD
DATEADD(unitString, addInt, timestamp)
Adds units to a timestamp. The string indicates the unit. Use negative values to subtract units.
Example
Code Block |
---|
SELECT DATEADD('MONTH', 1, DATE '2001-01-31') FROM Employee |
DATEDIFF
DATEDIFF(unitString, timestamp1, timestamp2)
Returns the the number of crossed unit boundaries between two timestamps.
Example
Code Block |
---|
SELECT DATEDIFF('YEAR', '2005-01-31', '2010-01-31') FROM Employee |
DAYNAME
Returns the name of the day (in English).
Example
Code Block |
---|
SELECT DAYNAME('2001-01-31') FROM Employee |
...
DAY_OF_MONTH
Returns the day of month (1-31).
ExampleExample
Code Block |
---|
SELECT DAY_OF_MONTH('2001-01-31') FROM Employee |
DAY_OF_WEEK
Returns the day of the week (1 means Sunday).
Example
Code Block |
---|
SELECT DAY_OF_WEEK('2001-01-31') FROM Employee |
DAY_OF_YEAR
Returns the day of the year (1-366).
Example
Code Block |
---|
SELECT DAY_OF_YEAR('2001-01-31') FROM Employee |
...
FORMATDATETIME
FORMATDATETIME(timestamp, formatString [, localeString [, timezoneString]])
Formats a date, time or timestamp as a string. The most important format characters are: y year, M month, d day, H hour, m minute, s second. Example: FORMATDATETIME(TIMESTAMP '2001-02-03 04:05:06','EEE, d MMM yyyy HH:mm:ss z', 'en', 'GMT')
Example
Code Block |
---|
SELECT FORMATDATETIME(TIMESTAMP '2001-02-03 04:05:06', 'EEE, d MMM yyyy HH:mm:ss z', 'en', 'GMT') FROM Employee |
HOUR, MINUTE, MONTH, YEAR
HOUR returns the hour (0 - 23) from a timestamp. MINUTE returns the minute (0 - 59). MONTH returns the month (1 - 12). YEAR returns the year from a timestamp.
Example
Code Block |
---|
SELECT HOUR('2001-02-03 04:05:06') FROM Employee |
Example
Code Block |
---|
SELECT MINUTE('2001-02-03 04:08:06') FROM Employee |
Example
Code Block |
---|
SELECT MONTH('2001-05-03') FROM Employee |
Example
Code Block |
---|
SELECT YEAR('2045-02-03') FROM Employee |
More Functions (New in 17.0)
CAST
Converts a value to another data type.
Example
Code Block |
---|
SELECT CAST(ID AS INT) FROM Employee |
COALESCE
Returns the first value that is not null.
Example
Code Block |
---|
SELECT COALESCE(ID, Age, Salary) FROM Employee |
GREATEST
Returns the largest value that is not NULL, or NULL if all values are NULL.
Example
Code Block |
---|
SELECT GREATEST(1, 2, 3) FROM Employee |
LEAST
Returns the smallest value that is not NULL, or NULL if all values are NULL.
Example
Code Block |
---|
SELECT LEAST(1,2,3) FROM Employee |
IFNULL
IFNULL(a, b)
Returns the value of 'a' if it is not null, otherwise 'b'.
Example
Code Block |
---|
SELECT SUM (IFNULL(Salary,100)) FROM Employee |
...
NULLIF
NULLIF(a, b)
Returns NULL if 'a' is equals to 'b', otherwise 'a'.
Example
Code Block |
---|
SELECT Fname,NULLIF(E_id ,Salary) FROM Employee |
NVL2
NVL2(testValue, a, b)
If the test value is null, then 'b' is returned. Otherwise, 'a' is returned. The data type of the returned value is the data type of 'a' if this is a text type.
Example
Code Block |
---|
SELECT NVL2(ID, 'not null', 'null') FROM Employee |
ROWNUM
Returns the number of the current row.
Example
Code Block |
---|
SELECT ROWNUM(), * FROM Employee |