ycvodzf 发表于 2015-6-17 08:28:23

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;
  都是正确的。
  
页: [1]
查看完整版本: OCP-1Z0-051-题目解析-第5题