1樓:匿名使用者
自己做函式把projectno拆成3份,order by 的時候用函式,
select * from 表 order by 函式(projectno, '市區'), 函式(projectno, '檔名'), 函式(projectno,'號')。
分割函式,oracle的。
create or replace function spliteprojectno(vprojectno in varchar2, vsplitetype in varchar2) return varchar2 is
vtempno varchar2(200);
begin
if vprojectno is null then
return vprojectno;
end if;
if vsplitetype = '市區' then
return substr(vprojectno, 1, 2);
elsif vsplitetype = '檔名' then
vtempno:= substr(vprojectno, 3);
return substr(vtempno, 1, instr(vtempno, '-') - 1);
elsif vsplitetype = '號' then
return substr(vprojectno, instr(vprojectno, '-') + 1);
else
return '';
end if;
end;/
2樓:
給你一個思路:
1.把欄位擷取3段後插入一個臨時表.例如:a欄位:欽市,b欄位:pc2010-,c欄位:5
2.再利用order by a b c
SQL語句的問題,SQL語句的問題
用聯接。假設資料庫名為test,列1為a,列2為b,排序欄位為id。下列語句可查出所有b列與其他行的a列相同的記錄 select t1.a,t1.b from test t1 join test t2 on t1.b t2.a where t1.a t2.a 下列語句可查出第5行是否存在b列與其他行...
SQL語句的 號的問題,SQL中取序號的問題
不可以省略,銀行帳號名稱是一個變數,也是一個字串。set sql alter table dbo.臨時表1 add 銀行帳號名稱 int default 0 其實就是執行了三個字串的相加操作,把結果賦值給 sql變數。括號是為了相容sql server裡的關鍵字,如果欄位名是關鍵字的話,某些版本的s...
sql的where語句中and和or能不能同時使用
沒有用 括號的情況下,and優先 where a b or a c and a d 等價於 where a b or a c and a d 如果想要先計算or where a b or a c and a d 是可以同時使用的。但要看業務要求 使用的場景舉例 查詢表中2000年和2002年出生的男...