简述19个常用Oracle内置函数?

参考回答

以下是Oracle数据库中常用的19个内置函数:

  1. SYSDATE
    • 返回当前的系统日期和时间。
    SELECT SYSDATE FROM dual;
    
  2. CURRENT_DATE
    • 返回当前会话的日期和时间(时区依赖于会话的时区设置)。
    SELECT CURRENT_DATE FROM dual;
    
  3. NVL
    • 替换空值(NULL)为指定的值。
    SELECT NVL(column_name, 'default_value') FROM table_name;
    
  4. COALESCE
    • 返回表达式列表中第一个非NULL的值。
    SELECT COALESCE(column1, column2, 'default_value') FROM table_name;
    
  5. TO_CHAR
    • 将日期或数字转换为字符串。
    SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') FROM dual;
    
  6. TO_NUMBER
    • 将字符串转换为数字。
    SELECT TO_NUMBER('123.45') FROM dual;
    
  7. TO_DATE
    • 将字符串转换为日期。
    SELECT TO_DATE('2025-01-01', 'YYYY-MM-DD') FROM dual;
    
  8. UPPER
    • 将字符串中的所有字符转换为大写。
    SELECT UPPER('oracle') FROM dual;
    
  9. LOWER
    • 将字符串中的所有字符转换为小写。
    SELECT LOWER('ORACLE') FROM dual;
    
  10. LENGTH
    • 返回字符串的长度(以字符为单位)。
    SELECT LENGTH('Oracle') FROM dual;
    
  11. SUBSTR
    • 返回从字符串指定位置开始的子字符串。
    SELECT SUBSTR('Oracle', 2, 3) FROM dual;
    
  12. CONCAT
    • 连接两个字符串。
    SELECT CONCAT('Oracle', ' Database') FROM dual;
    
  13. TRIM
    • 删除字符串两端的指定字符。
    SELECT TRIM(' ' FROM '   Oracle   ') FROM dual;
    
  14. ROUND
    • 对数字进行四舍五入。
    SELECT ROUND(123.456, 2) FROM dual;
    
  15. CEIL
    • 返回大于或等于指定数字的最小整数。
    SELECT CEIL(123.45) FROM dual;
    
  16. FLOOR
    • 返回小于或等于指定数字的最大整数。
    SELECT FLOOR(123.45) FROM dual;
    
  17. MOD
    • 返回两个数相除的余数。
    SELECT MOD(10, 3) FROM dual;
    
  18. NOW
    • 返回当前的日期和时间,精度通常为秒。
    SELECT NOW FROM dual;
    
  19. DECODE
    • 条件函数,类似于IF-THEN-ELSE语句,用于将一个值与多个可能的值进行比较。
    SELECT DECODE(status, 'A', 'Active', 'I', 'Inactive', 'Unknown') FROM users;
    

详细讲解与拓展

  1. SYSDATECURRENT_DATE
    • SYSDATE返回当前操作系统的日期和时间,而CURRENT_DATE是基于会话时区返回当前日期和时间,二者的区别在于时区。
  2. NVLCOALESCE
    • NVL函数接受两个参数,返回第一个非NULL值,而COALESCE可以接受多个参数,返回第一个非NULL的值。
  3. 类型转换函数(TO_CHARTO_NUMBERTO_DATE
    • 这些函数通常用于数据转换,TO_CHAR用于将日期或数字转换为字符串,TO_NUMBER将字符串转换为数字,TO_DATE将字符串转换为日期格式。
  4. 字符串处理函数
    • UPPERLOWER用于字符串的大小写转换,LENGTH返回字符串的长度,SUBSTR从字符串中提取子串,TRIM去除字符两端的空白。
  5. 数学函数
    • ROUNDCEILFLOOR用于数字的四舍五入、向上取整和向下取整,而MOD返回两个数字相除的余数。
  6. DECODE函数
    • DECODE类似于CASE语句,用于根据输入值的不同返回不同的结果,可以简化多个IF-THEN-ELSE语句的写法。

总结

Oracle内置函数提供了丰富的数据处理和转换功能。通过这些函数,用户可以轻松地进行日期、数字、字符串等数据类型的转换与操作。在实际开发中,掌握这些常用函数能够提高SQL查询的效率和灵活性。

发表评论

后才能评论