Oracle SQL查询详解:TO_CHAR函数与表达式运用

需积分: 10 10 下载量 75 浏览量 更新于2024-08-15 收藏 3.47MB PPT 举报
本文主要介绍了Oracle数据库中的SQL查询语句,特别是如何使用`TO_CHAR`函数格式化日期和数字的显示,并提供了多个示例。同时,文章也回顾了SELECT查询的基本语法,包括查询指定列、使用算术表达式以及处理运算优先级。 在Oracle SQL中,`TO_CHAR`函数用于将日期或数字转换为字符格式,以便于在输出时按照特定样式显示。在给出的第一个例子中,`TO_CHAR(start_date, 'fmDdspth "of " Month YYYY fmHH:MI:SS AM')`将员工的入职日期`start_date`格式化为易读的字符串,如“3rd of January 2023 10:30:00 AM”。`fm`前缀用于去除前导零,`Ddspth`是日期的序数表示,`Month`表示完整的月份名称,`YYYY`为四位年份,`fmHH:MI:SS AM/PM`则表示24小时制时间并加上AM/PM标记。 第二个例子展示了`TO_CHAR`函数与字符串连接操作的使用,`'Order ‘ || TO_CHAR(id) || ' was filled for a total of ‘ || TO_CHAR(total,'fm$9,999,999')`将订单ID和总金额以货币格式组合成一个句子,其中`fm$9,999,999`定义了货币格式,包含前导美元符号和千位分隔符。 在SQL查询中,`SELECT`语句是核心,用于从数据库中提取数据。基础语法是`SELECT <列名> FROM <表名>`。文章提到了查询所有列(使用`*`通配符)和指定列,以及通过算术表达式计算新值,如年薪(`salary * 12`)。在表达式中使用括号可以控制运算的优先级,确保正确计算。 例如,`SELECT last_name, salary, 12*salary+100 FROM s_emp;`会显示员工姓名、年薪(12个月工资之和)以及在此基础上增加100的值。而`SELECT last_name, salary, 12*(salary+100) FROM s_emp;`则先增加100,然后乘以12,显示的结果会有不同。 通过这些例子,我们可以了解到在Oracle SQL中,`TO_CHAR`函数的强大功能以及在处理日期和数字格式化时的灵活性。同时,结合基础的SELECT查询语法,能够帮助我们构建复杂的查询逻辑,满足各种数据检索需求。