考慮到今後計畫學習oracle,覺得需要記錄一下oracle使用應該注意的地方:
1、修改會話的時間顯示格式:
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
2、設定為允許輸出:
set serveroutput on;
3、oracle匿名塊不允許直接輸出select結果
這樣可以;
這樣報錯:begin
dbms_output.put_line('想要顯示的結果');
end;
4、rownum是對查詢結果創造的偽列,而非屬於表。begin
select * from employees;
end;
ora-06550: 第 2 行, 第 1 列:
pls-00428: 在此 select 語句中缺少 into 子句
下面語句是查不出資料的。
select salary from employees where rownum>5;
可以通過此子查詢實現:
5、select 語句投影,不能將*和其他列一起(sql server無此限制)select * from
(select rownum num, salary from employees ) t where t.num>5;
select salary ,* from employees;
6、between and用於字串需要注意
select * from chltbl where col2 between 'a' and 'c';
表示的含義是所以以a,b開頭的字串和c,c%是不包含的。
7、long型別的使用
乙個表中最多只能存在乙個long型別的列,同時long型別的列不能用於group by 子句。
8、集合條件:表示式in ('a','b','c')與表示式='a' or 表示式='b' or 表示式=『c』,是等價的。這意味著二者之間不會有效能上的不同。
9、表示式 not in 集合這樣的條件不能慎用,因為null值會被剔除掉。
10、字串欄位的比較
insert into chl_update1(fid,fname,fname_new) values(2,'cc','');
insert into chl_update1(fid,fname,fname_new) values(2,'dd',null);
insert into chl_update1(fid,fname,fname_new) values(2,'ee',' ');
insert into chl_update1(fid,fname,fname_new) values(2,'ff',' ');
--查詢
--返回 cc dd
select * from chl_update1 where fname_new is null;
--返回 無
select * from chl_update1 where fname_new='';
--返回 ee
select * from chl_update1 where fname_new=' ';
--返回 ff
select * from chl_update1 where fname_new=' ';
查詢所有為null的或者為空格的記錄
select * from chl_update1 where replace(fname_new,' ','') is null
注意:下面語句是查不到資料的
select * from chl_update1 where fname_new='';
11、oracle建立表是 是否允許為空與預設值的先後順序
--下面兩個語句在sql server下都可以正常執行
--第一句在oracle下執行報錯
create table test001(fid int,fdate date,fname char(1) default '1' ,flongname nvarchar(2000) null default '000' );
--第二句在oracle下執行不會報錯
create table test001(fid int,fdate date,fname char(1) default '1' ,flongname nvarchar(2000) default '000' null );
待續努力不會背叛 typeof需要注意的內容
現在需要概括一下注意點,如下 1 值和型別 js中只有值才有型別,變數沒有型別。js不做 型別強制 也就是說,語言引擎不要求變數總是持有與其初始值同型別的值。乙個變數可以現在被賦值為字串型別值,隨後又被賦值為數字型別值。執行typeof操作,得到的結果不是該變數的型別,而是該變數持有的值的型別,因為...
使用SqlSession 需要注意的
sqlsessionfactorybuilder 是用於建立sqlseesionfactory的,將sqlsessionfactorybuilder當成乙個工具類來使用 sqlseesionfactory 會話工廠,是乙個單例的,用於建立sqlsession,sqlsessionfactory一旦建...
使用Calendar需要注意clear
date是前台傳的值,格式為2014 01 01的形式 如下的 是去date日期當月的最大天數日期 int month integer.parseint date.substring 5,7 取天數 int year integer.parseint date.substring 0,4 取年份 d...