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

总结

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

发表回复

后才能评论