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函数,但是比它简单得多.

posted @ 2015-06-12 16:06  _DN  阅读(267)  评论(0编辑  收藏  举报