sql

1、[Err] ORA-00904: "DD": invalid identifier

select  ... ... ... TO_CHAR(o.ADDTIME,yyyy-mm-dd)... ... ... from ... ... ...

解决:TO_CHAR(o.ADDTIME,‘yyyy-mm-dd’),单引号、双引号的问题


2、查询条件中有char(nchar)类型,查不出数据

如数据表中,某字段bklx nchar(4)

select。。。where bklx=‘补考’,会查不出数据

原因:oracle的JDBC在比较char(nchar)类型数据时,会自动补齐较短的数据

即数据库中存‘补考’,但实际查询的是select。。。where bklx=‘补考__’

解决:

a、select。。。where trim(bklx)=‘补考’

b、将char(nchar)改为varchar(nvarchar)

c、使用长度固定的内容

 

3、date与timestamp

date精确到秒;插入时间时要用:TO_DATE('2006-05-01 19:25:34', 'YYYY-MM-DD HH24:MI:SS'),查询时用select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;

timestamp精确到0.001秒

参考:http://www.douban.com/note/31849478/

alter   session   set   nls_date_format=可以直接用字符串写SQL语句。
 如:alter   session   set   nls_date_format= 'yyyy-mm-dd   hh:mi:ss '
 insert   into   a(atime)   values( '2001-1-1   23:12:12 ')


4、where...group by...having

where是对哪些数据进行统计

having是 显示哪些统计结果



二、语句

1、一张表与自身内连接,如包含上下级关系的组织结构表,查出每个子类与子类父类名称的信息

a、直接内连接(稍快)

SELECT a.planID,a.parentid,b.deptNAME AS parentdeptname, b.sortno AS parentsortno,
	a.deptNAME,a.stuCount,a.zydm,a.xuezhi,a.cengci,a.xuefei,a.zsdx,a.xzrlxdh,
		        a.leaf, a.sortno, a.remark
from csrecruitplan a,csrecruitplan b
where a.parentid = b.planID  and a.leaf=1
		 order by parentsortno
b、(稍慢)
SELECT planID,parentid,  
				(SELECT deptNAME 
		             FROM csrecruitplan
		             WHERE planID = a.parentid) AS parentdeptname,
		      (SELECT sortno 
		             FROM csrecruitplan
		             WHERE planID = a.parentid) AS parentsortno,
		        deptNAME,stuCount,zydm,xuezhi,cengci,xuefei,zsdx,xzrlxdh,
		        leaf, sortno, remark
		  FROM csrecruitplan a where a.leaf=1
		 order by parentsortno

3、子查询为为一个字段---返回多条数据则报错

select a1,
    (select c1 from c)  as c3
    (select d1 from d) as d3
from a

和多表查询的效率如何?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值