OCP-1Z0-051-V9.02-5题

5. Which SQL statements would display the value 1890.55 as $1,890.55? (Choose three .)

A. SELECT TO_CHAR(1890.55,'$0G000D00')

FROM DUAL;

B. SELECT TO_CHAR(1890.55,'$9,999V99')

FROM DUAL; 

C. SELECT TO_CHAR(1890.55,'$99,999D99')                         

FROM DUAL;

D. SELECT TO_CHAR(1890.55,'$99G999D00')

FROM DUAL;

E. SELECT TO_CHAR(1890.55,'$99G999D99')

FROM DUAL;

Answer: ADE

答案解析:

G表示分组分隔符group

D表示小数点decimal point

V表示移动N位(小数点),乘以10的n次方后面跟几位就是几次方

如:

to_char(12,'99V999') ' 12000'

to_char(12.4,'99V999') ' 12400'

to_char(12.45, '99V9') ' 125'

0表示补齐位数。

实验验证

hr@TEST0924> SELECT TO_CHAR(1890.55,'$0G000D00') FROM DUAL;


TO_CHAR(18

----------

 $1,890.55


hr@TEST0924> SELECT TO_CHAR(1890.55,'$9,999V99') FROM DUAL;


TO_CHAR(1

---------

 $1,89055


hr@TEST0924> SELECT TO_CHAR(1890.55,'$99,999D99') FROM DUAL;

SELECT TO_CHAR(1890.55,'$99,999D99') FROM DUAL

                       *

ERROR at line 1:

ORA-01481: invalid number format model



hr@TEST0924>  SELECT TO_CHAR(1890.55,'$99G999D00') FROM DUAL;


TO_CHAR(189

-----------

  $1,890.55


hr@TEST0924> SELECT TO_CHAR(1890.55,'$99G999D99') FROM DUAL;


TO_CHAR(189

-----------

  $1,890.55


原文地址:https://www.cnblogs.com/hzcya1995/p/13316821.html