OCP-1Z0-051-标题决心-文章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是表示小数点向右移动对应的位数。如to_char(10.5,'99V999') ' 10500'

0是表示补齐,如该位置没有数。则补0,和9不同,9假设该位置没有数。则留空。如to_char(1000,'00,000')  ' 01,000' ,

而  to_char(1000,'99,999')  ' 1,000'。

由上能够看出B是错误的。

C选项 SELECT TO_CHAR(1890.55,'$99,999D99') FROM DUAL;

这个错误是因为前面的分组分隔符用的是符号,后面的小数点用的是字母,这样的情况是会报错的,能够改为一致

SELECT TO_CHAR(1890.55,'$99,999.99') FROM DUAL;

或者

SELECT TO_CHAR(1890.55,'$99G999D99') FROM DUAL;

是正确的。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

你可能感兴趣的:(OCP)