服务器 频道

PL/SQL学习笔记之五

  【IT168 服务器学院】日期和日期时间算术

  运算  返回类型
  结果 

  d1-d2  NUMBER
  返回D1和D2之间相差的天数。该值是一个数值,其小数部分代表一天的几分之几。

  dt1-dt2  INTERVAL
  返回DT1和DT2之间的时间间隔。

  i1-i2  INTERVAL
  返回i1和i2之间的差距。

  d1+d2  N/A
  非法——仅能进行两个日期之间的相减。

  dt1+dt2  N/A
  非法——仅能进行两个日期之间的相减。

  i1+i2  INTERVAL
  返回i1和i2的和。

  d1+n  DATE
  在D1上加上N天作为DATE类型返回。N可以是实数,它包含一天的几分之几。

  d1-n  DATE
  从D1上减去N天作为DATE类型返回。N可以是实数,它包含一天的几分之几。

  dt1+i1  DATETIME
  返回DT1和I1的和。

  dt1-i1  DATETIME
  返回DT1和I1之间的差距。

  i1*n  INTERVAL
  返回I1的N次方。

  i1/n  INTERVAL
  返回I1除以N的值。

  表中注:
  D1和D2指日期值;
  DT1和DT2指日期时间值;
  I1和I2指时间间隔值;
  N指数字值。

  显示转换:(conversion)

  TO_NUMBER(char[,''format_model''])  字符转换到数字类型
  

  TO_DATE(char[,''format_model''])  字符转换到日期类型
  格式说明符:要与前边要转换的字符串的格式要相同才能转换(匹配问题:格式和位数)。

  TO_CHAR(date[,''format_model''[,nlsparams]])
  第二个参数可以省略,不指定格式,按系统默认格式输出。
  区分大小写。
  使用FM(在格式控制符前添加)符号可以去掉空格或是首位的零。
  如果指定了NLSPARAMS,则它控制返回字符串的月和日分量所使用的语言。格式为:
  ''NLS_DATA_LANGUAGE=language'',language指需要的语言。
  例:
  select to_char(sysdate,''FMyyyy-mm-dd'') from dual;
  格式控制符的类型:
  YYYY 四位的年
  YEAR 年的拼写      
  MM  2位数字的月
  MONTH 月的全名
  MON 月名的前三个字符
  DY 星期名的前三个字符
  DAY 星期名的全称
  DD 2位的天 
  时间格式控制符:
  HH24:MI:SS AM
  HH12:MI:SS PM
  
  通过“”来实现加入特殊字符的格式控制符。
  SELECT TO_CHAR(SYSDATE,''FMyyyy"年"mm"月"dd"日"'') from dual;

    DDSPTH
  ~~ 
  DD是格式控制符。 
  TH是序数词,将日期转换成英文的序数词拼写。
  SP是基数词,将日期转换成英文的基数词拼写。

  TO_CHAR(NUM[,''format_model''[,nlsparams]])转换数字

  将NUMBER类型参数NUM转换成VARCHAR2类型。如果指定FORMAT,它会控制整个转换。
  如果没有指定FORMAT,那么结果字符串中将包含和NUM中有效位的个数相同的字符。NLSPARAMS用来指定小数点和千分符及货币符号。它的格式可为:''NLS_NUMERIC_CHARS='' '' dg '' ''NLS_CURRENCY= '' ''string'' '' ''
  d和g分别代表小数点和千分符。STRING代表货币符号。  

0
相关文章