SQL 查询执行的函数

Function perfomed by SQL query

我是 SQL 的新手,我无法理解以下查询的作用:

Select to_char(sal ,’,999’) salary from emp where ename =’SCOTT’ ;
Select to_date(’07-july-03’,’RM’) from dual ;

请帮忙。

您可以做的最佳选择是实际执行这些查询并查看它们 return。

第一个查询to_char格式化数字(薪水一个数字)以便以所需的格式显示。在您的情况下,它会在其前面添加美元符号以及 thousands 分隔符。

SQL> select sal original_value,
  2        to_char(sal, ',999') formatted_value
  3  from emp
  4  where ename = 'SCOTT';

ORIGINAL_VALUE FORMATTE
-------------- --------
          3000   ,000

第二次查询:RM格式模型returns罗马月(今天是四月,是一年中的第4个月,它的罗马表示法是 IV).

SQL> select sysdate,
  2         to_char(sysdate, 'dd.mm.yyyy') formatted,
  3         to_char(sysdate, 'RM') roman
  4  from dual;

SYSDATE   FORMATTED  ROMA
--------- ---------- ----
03-APR-22 03.04.2022 IV

SQL>

另一方面,您的第二个查询似乎无效:

SQL> select to_date('03-apr-22', 'RM') your_query from dual;
select to_date('03-apr-22', 'RM') your_query from dual
               *
ERROR at line 1:
ORA-00012: Message 12 not found;  product=RDBMS; facility=ORA
; arguments: [12]


SQL>

documentation 中有关格式模型的更多信息。