Oracle 使用小计(3)

?

1.出错处理

ORA-00911: invalid character

这是因为在语句末尾加上了";"的缘故,去掉";"SQL就可以执行了~

(这与SQL Server不同)

?

Oracle:文字与格式字符串不匹配的解决

oracle的日期时间类型在往oracle的date类型插入数据的时候,记得要用to_date()方法。

  1. insert into CUSLOGS(STARTTIME) values(to_date(‘2009-5-21 18:55:49‘,‘yyyy/mm/dd HH24:MI:SS‘));

(me:老是容易忘记(HH24:MI:SS这句)。。。)

?

否则的话就会报错:"文字与格式字符串不匹配"。

?

错误分析的好文http://overloving.iteye.com/blog/1590109

?

2.语法

SQL 命名修改列名

  1. ALTER TABLE TABLE1 RENAME COLUMN OldColumnName TO NewColumnName

?

Oracle Case When的用法

http://www.cnblogs.com/eshizhan/archive/2012/04/06/2435493.html

总结以上情形:

1)在多值显示的时候,比较适合,如"Y,N"显示为"是,否";

2)用于统计,CASE sex = 1 THEN 1 ELSE NULL

3)WERE CASE

4)GROUP BY CASE

5)DECODE函数

?

3.函数

oracle 函数Wm_Concat 使用方法

WM_CONCAT(FieldExpression),在分组的时候,将相同分组内的FieldExpression用逗号表达式连接起来。

替换结果:REPLACE(WM_CONCAT(FieldExpression),‘,‘,‘|‘)

Eg :

  1. SELECT DISTINCT PRODUCTCODE,NAME,ProductName,wm_concat(COUNTRY_CODE) ONLINE_COUNTRY_CODE FROM TABLE1
  2. ?
  3. REPLACE(wm_concat(tt.COUNTRY_CODE || ‘--‘ || tt.NAME || ‘:‘ || tt.COUNT),‘,‘,‘<br />‘) onlineNumber

?

实际上类似SQL SERVER 的 Forxml函数,但是比它简单得多.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。