String Functions
| Function | Description | Example |
|---|---|---|
| CONCAT | Concatenates two strings. | SELECT CONCAT('Hello', ' World') FROM dual; Result: Hello World |
| SUBSTR | Extracts a substring from a string. | SELECT SUBSTR('Oracle SQL', 1, 6) FROM dual; Result: Oracle |
| LENGTH | Returns the length of a string. | SELECT LENGTH('Oracle SQL') FROM dual; Result: 10 |
| INSTR | Returns the position of a substring in a string. | SELECT INSTR('Oracle SQL', 'SQL') FROM dual; Result: 8 |
| REPLACE | Replaces occurrences of a substring with another substring. | SELECT REPLACE('Oracle SQL', 'SQL', 'PL/SQL') FROM dual; Result: Oracle PL/SQL |
| TRIM | Removes leading and trailing spaces or specified characters from a string. | SELECT TRIM(' SQL ') FROM dual; Result: SQL |
| UPPER | Converts a string to uppercase. | SELECT UPPER('oracle sql') FROM dual; Result: ORACLE SQL |
| LOWER | Converts a string to lowercase. | SELECT LOWER('ORACLE SQL') FROM dual; Result: oracle sql |
| INITCAP | Capitalizes the first letter of each word in a string. | SELECT INITCAP('oracle sql functions') FROM dual; Result: Oracle Sql Functions |
| LPAD | Pads the left side of a string with a specified set of characters. | SELECT LPAD('SQL', 10, '*') FROM dual; Result: ********SQL |
| RPAD | Pads the right side of a string with a specified set of characters. | SELECT RPAD('SQL', 10, '*') FROM dual; Result: SQL******** |
| TRANSLATE | Replaces a sequence of characters in a string with another sequence of characters. | SELECT TRANSLATE('Oracle', 'Oe', 'oE') FROM dual; Result: oraclE |
| REGEXP_INSTR | Searches for a regular expression pattern in a string and returns the position. | SELECT REGEXP_INSTR('Oracle SQL', 'SQL') FROM dual; Result: 8 |
| REGEXP_REPLACE | Replaces occurrences of a regular expression pattern with another string. | SELECT REGEXP_REPLACE('Oracle SQL', '[^A-Za-z]', '') FROM dual; Result: OracleSQL |
| REGEXP_SUBSTR | Extracts a substring that matches a regular expression pattern. | SELECT REGEXP_SUBSTR('Oracle 123 SQL', '\d+', 1, 1) FROM dual; Result: 123 |
| CHR | Converts a number to a character. | SELECT CHR(65) FROM dual; Result: A |
| ASCII | Returns the ASCII value of the first character of a string. | SELECT ASCII('A') FROM dual; Result: 65 |
| SOUNDEX | Returns a phonetic representation of a string. | SELECT SOUNDEX('Smith') FROM dual; Result: S530 |
Date Functions
| Function | Description | Example |
|---|---|---|
| SYSDATE | Returns the current system date and time. | SELECT SYSDATE FROM dual; Result: Current system date and time |
| CURRENT_DATE | Returns the current date in the session time zone. | SELECT CURRENT_DATE FROM dual; Result: Current date in session time zone |
| CURRENT_TIMESTAMP | Returns the current date and time with time zone. | SELECT CURRENT_TIMESTAMP FROM dual; Result: Current date and time with time zone |
| SYSTIMESTAMP | Returns the system date and time with time zone and fractional seconds. | SELECT SYSTIMESTAMP FROM dual; Result: System date and time with time zone |
| ADD_MONTHS | Adds a number of months to a date. | SELECT ADD_MONTHS(SYSDATE, 3) FROM dual; Result: Date 3 months from now |
| MONTHS_BETWEEN | Returns the number of months between two dates. | SELECT MONTHS_BETWEEN(SYSDATE, DATE '2023-01-01') FROM dual; Result: Number of months between today and January 1, 2023 |
| NEXT_DAY | Returns the date of the next specified weekday after a given date. | SELECT NEXT_DAY(SYSDATE, 'FRIDAY') FROM dual; Result: Date of the next Friday |
| LAST_DAY | Returns the last day of the month for a given date. | SELECT LAST_DAY(SYSDATE) FROM dual; Result: Last day of the current month |
| TRUNC | Truncates a date to a specified unit of measure. | SELECT TRUNC(SYSDATE, 'YEAR') FROM dual; Result: First day of the current year |
| ROUND | Rounds a date to a specified unit of measure. | SELECT ROUND(SYSDATE, 'MONTH') FROM dual; Result: First day of the current month rounded |
| EXTRACT | Extracts a part of a date, such as year, month, or day. | SELECT EXTRACT(YEAR FROM SYSDATE) FROM dual; Result: Current year |
| TO_DATE | Converts a string to a date. | SELECT TO_DATE('2024-09-11', 'YYYY-MM-DD') FROM dual; Result: September 11, 2024 |
| TO_CHAR | Converts a date to a string. | SELECT TO_CHAR(SYSDATE, 'DD-MON-YYYY') FROM dual; Result: Current date in DD-MON-YYYY format |
| TO_TIMESTAMP | Converts a string to a timestamp. | SELECT TO_TIMESTAMP('2024-09-11 12:30:45', 'YYYY-MM-DD HH24:MI:SS') FROM dual; Result: Timestamp for September 11, 2024, 12:30:45 |
| TO_YMINTERVAL | Converts a string to a YEAR TO MONTH interval. | SELECT TO_YMINTERVAL('3-6') FROM dual; Result: Interval of 3 years and 6 months |
| TO_DSINTERVAL | Converts a string to a DAY TO SECOND interval. | SELECT TO_DSINTERVAL('2 03:15:30') FROM dual; Result: Interval of 2 days, 3 hours, 15 minutes, 30 seconds |
Numeric Functions
| Function | Description | Example |
|---|---|---|
| ROUND | Rounds a number to a specified number of decimal places. | SELECT ROUND(123.4567, 2) FROM dual; Result: 123.46 |
| TRUNC | Truncates a number to a specified number of decimal places. | SELECT TRUNC(123.4567, 2) FROM dual; Result: 123.45 |
| CEIL | Returns the smallest integer greater than or equal to a number. | SELECT CEIL(123.45) FROM dual; Result: 124 |
| FLOOR | Returns the largest integer less than or equal to a number. | SELECT FLOOR(123.45) FROM dual; Result: 123 |
| MOD | Returns the remainder of a number divided by another number. | SELECT MOD(10, 3) FROM dual; Result: 1 |
| POWER | Returns the result of a number raised to the power of another number. | SELECT POWER(2, 3) FROM dual; Result: 8 |
| SQRT | Returns the square root of a number. | SELECT SQRT(16) FROM dual; Result: 4 |
| EXP | Returns e raised to the power of a number. | SELECT EXP(1) FROM dual; Result: 2.71828 |
| LOG | Returns the natural logarithm of a number. | SELECT LOG(10) FROM dual; Result: 2.30259 |
| RADIANS | Converts degrees to radians. | SELECT RADIANS(180) FROM dual; Result: 3.14159 |
| DEGREES | Converts radians to degrees. | SELECT DEGREES(PI()) FROM dual; Result: 180 |
| SIGN | Returns the sign of a number. | SELECT SIGN(-10) FROM dual; Result: -1 |
| ABS | Returns the absolute value of a number. | SELECT ABS(-123.45) FROM dual; Result: 123.45 |
Conversion Functions
| Function | Description | Example |
|---|---|---|
| TO_CHAR | Converts a number or date to a string. | SELECT TO_CHAR(1234.56, '9999.99') FROM dual; Result: 1234.56 |
| TO_NUMBER | Converts a string to a number. | SELECT TO_NUMBER('1234.56') FROM dual; Result: 1234.56 |
| TO_DATE | Converts a string to a date. | SELECT TO_DATE('2024-09-11', 'YYYY-MM-DD') FROM dual; Result: September 11, 2024 |
| TO_TIMESTAMP | Converts a string to a timestamp. | SELECT TO_TIMESTAMP('2024-09-11 12:30:45', 'YYYY-MM-DD HH24:MI:SS') FROM dual; Result: September 11, 2024, 12:30:45 |
| CAST | Converts one data type to another. | SELECT CAST('1234.56' AS NUMBER) FROM dual; Result: 1234.56 |
Aggregate Functions
| Function | Description | Example |
|---|---|---|
| SUM | Calculates the sum of a numeric column. | SELECT SUM(salary) FROM employees; Result: Total salary of all employees |
| AVG | Calculates the average of a numeric column. | SELECT AVG(salary) FROM employees; Result: Average salary of all employees |
| COUNT | Counts the number of rows in a table. | SELECT COUNT(*) FROM employees; Result: Total number of employees |
| MAX | Finds the maximum value of a numeric column. | SELECT MAX(salary) FROM employees; Result: Highest salary |
| MIN | Finds the minimum value of a numeric column. | SELECT MIN(salary) FROM employees; Result: Lowest salary |
| GROUP_CONCAT | Concatenates values from multiple rows into a single string (available in MySQL, use LISTAGG in Oracle). | SELECT LISTAGG(name, ', ') WITHIN GROUP (ORDER BY name) FROM employees; Result: Concatenated employee names |
| VARIANCE | Calculates the variance of a numeric column. | SELECT VARIANCE(salary) FROM employees; Result: Variance in salaries |
| STDDEV | Calculates the standard deviation of a numeric column. | SELECT STDDEV(salary) FROM employees; Result: Standard deviation of salaries |