A. Oracle sql查詢和SQL函數 問題
誒亞
看來我的貼幾章書才行
1.請總結為日期欄位賦值的幾種方式,並舉例說明
oracle中有個到當前系統時間--sysdate,如:
select sysdate from al
可對日期進行自述運算:
select (sysdate-mybirthday)/7 from person
months_between('01-sep-95','11-jan-94')---取得二個日期之間的間隔月數(19.6774194)
add_months('11-jan-94',6)---給指定日期加上指定的月份後得到一個新的日期(11-jul-94)
next_day('01-sep-85','friday')---取得當前日期中下個周五的日期(01-jul-95)
last_day('01-feb-95')---取得當前日期中月份的最後一天(28-feb-95)
round進行四捨五入,trunc則否,以下是我的操作結果:
sysdate為:
SYSDATE
----------
28-7月 -06
select
round(sysdate,'month') RM,
round(sysdate,'year') RY,
trunc(sysdate,'month') TM,
trunc(sysdate,'year') TY
from al;
RM RY TM TY
---------- ---------- ---------- ----------
01-8月 -06 01-1月 -07 01-7月 -06 01-1月 -06
2.請總結select語句的幾種用法,並舉例說明
inner join
left join
right join
cross join (一般不允許用)
3.請總結SQL操作符,每種操作符各舉一例說明
||字元串相加
>
<
=
Like
Between and
4.請總結SQL單行函數,每個函數各舉一例說明
越全面越好,
>字元處理
upper(str)---將字元串str全部轉換成大寫
lower(str)---將字元串str全部轉換成小寫
initcap(str)---將字元串中每個單詞的首字母大寫
concat(str1,str2)---將字元串str1與str2連接起來(也可以通過'||'號直接相連)
substr(str,a,b)---取字元串str中的指定字元,從位置a開始取長度為b的字元串,假如a為正則從左邊開始,否則從右邊開始
instr(str,'z')---取得str字元串中從左邊開始每一次出現z字元的下標位置(下標從1開始)
lpad(str,12,'*')---左填充,即將字元串str長度填充到12,假如其不足12位則在左邊以*號填充
rpad(str,12,'*')---右填充,同上
length(str)---計算字元串str的長度
2>數字函數
round(45.926,2)---將前一數保留指定的小數位,並四捨五入(45.93),假如指定位是負數則意為在小數點左邊保留指定位,如round(45.923,-1)=50,rount(45.923,0)=46,round(45.93,-2)=0,round(55.93,-2)=100
trunc(45.926,2)---同上,得不四捨五入(45.92)
mod(1600,300)---求余(100)
B. Oracle還是SQL中字元函數中有沒有替換功能
select replace ('原字元串','要替換的字元串','替換後的字元串') from al;
執行之後就是替換結果。
C. ORACLE用pl/sql中的instr、replace等字元處理函數,字元串為'XXX='時容易視為變數該怎麼處理
我要說一句,連PL/SQL都不知道的也能給推薦?
請推薦的人不要只為了完成任務而推薦,為網友,為知道負點責好嗎?
如果是C#,直接split+length就可以得到結果,人家要的是PL/SQL.
D. oracle中查找一個字元串中某個字元的位置是什麼函數
查找位置的函數為instr函數。下標以1開始,如果不存在則返回0。
舉例如下:
1、創建測試表,
create table test_instr(str varchar2(20));
E. Oracle SQL截取字元串
4行?4列不行么?
select substr(col, 1,1) as a, substr(col, 2,2) as b, substr(col,4,3) as c, substr(col,7,4) from table_name;
用逗號隔開
select substr(col, 1,1) ||','||substr(col, 2,2) ||','|| substr(col,4,3) ||','||substr(col,7,4) from table_name;
F. oracle中 sql截取某個字元前面和後面的值
1、將新建好的表aaaa,填充需要查詢的數據以"_"或者","為分隔符的兩條數據。
G. Oracle SQL判斷字元串是否在目標字元串中的函數
用於識別以下的情況:判斷 字元串A 在用逗號分隔的字元串B中是否存在如: v_str_a = aa ;v_str_b= aa,bb,dd,cc ; 如上,就返回Y,否則返回N。添加了一些校驗。 以後可以根據需求,按照指定的分隔符,提取字元串。畢竟Oracle的字元串解析比較麻煩,能封裝就封裝。Sql代碼 create or replace function func_str_inArray(p_target varchar2, p_str_array varchar2) return varchar2 is v_flag varchar2(1); v_comma_loc int; v_cut_string varchar2(300); v_rest_string varchar2(2000); begin ------------------------ --p_target 不能包含","!!!注意!! --info:這個函數用於識別目標字元串,是否在一串用「,」分開的字元串內 ------------------------ v_flag := 'N'; v_comma_loc := instr(p_str_array, ','); --如果是對比字元串是空,則返回false if nvl(p_str_array, '') = '' then return 'N'; end if; --如果沒有逗號,直接比較 if length(p_str_array) > 0 and v_comma_loc = 0 then if p_target = p_str_array then return 'Y'; else return 'N'; end if; end if; v_rest_string := p_str_array; while v_comma_loc > 0 loop v_cut_string := substr(v_rest_string, 0, v_comma_loc - 1); v_rest_string := substr(v_rest_string, v_comma_loc + 1, length(v_rest_string) - 1); if p_target = v_cut_string then v_flag := 'Y'; end if; v_comma_loc := instr(v_rest_string, ','); if v_comma_loc = 0 and length(v_rest_string) > 0 then if p_target = v_rest_string then v_flag := 'Y'; end if; end if; end loop; return v_flag; end;
H. sql資料庫截取字元串函數
Oracle中 其語法為:
substr函數的用法,取得字元串中指定起始位置和長度的字元串 ,默認是從起始位置到結束的子串。
substr( string, start_position, [ length ] ) substr('目標字元串',開始位置,長度)
如:
substr('This is a test', 6, 2) would return 'is'
substr('This is a test', 6) would return 'is a test'
substr('TechOnTheNet', -3, 3) would return 'Net'
substr('TechOnTheNet', -6, 3) would return 'The'select substr('Thisisatest', -4, 2) value from al
I. oracle的sql裡面有沒有測試字元串包含的函數
instr(欄位,'字元串') 返回0 表示 不包含
J. Oracle中如何用SQL把字元串轉換成整型
您可以使用cast函數將數字字元串轉化為整型。
cast函數格式如下:
CAST(欄位名 as int);
拓展資料
結構化查詢語言(Structured Query Language)簡稱SQL(發音:/ˈes kjuː ˈel/ "S-Q-L"),是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
1986年10月,美國國家標准協會對SQL進行規范後,以此作為關系式資料庫管理系統的標准語言(ANSI X3. 135-1986),1987年得到國際標准組織的支持下成為國際標准。不過各種通行的資料庫系統在其實踐過程中都對SQL規范作了某些編改和擴充。所以,實際上不同資料庫系統之間的SQL不能完全相互通用。