oracle怎么實(shí)現(xiàn)判斷 Oracle判斷語句

oracleif判斷語句

oracle的if語句采用decode函數(shù)。

廣西網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

DECODE(value,if1,then1,if2,then2,if3,then3,...,else)

表示如果value 等于if1時(shí),DECODE函數(shù)的結(jié)果返回then1,...,如果不等于任何一個(gè)if值,則返回else。

Oracle數(shù)據(jù)庫是對標(biāo)準(zhǔn)sql語言的過程化擴(kuò)展,因此產(chǎn)生了pl/sql語言。其中的if語句大量使用使得程序模塊化的功能方便實(shí)用?,F(xiàn)在要討論的是if語句的基本使用方法。

連接數(shù)據(jù)庫

請輸入用戶名: ?scott/123456

設(shè)置環(huán)境變量

SQL set serveroutput on

定義兩個(gè)字符串變量,然后賦值,接著使用if……then語句比較兩個(gè)字符串變量的長度,并輸出比較結(jié)果。

declare

a varchar(10);

b varchar(10);

begin

a:='beijing';

b:='guangdong';

if length(a)length(b)

then dbms_output.put_line('ab');

end if;

end;

過if……then……else語句實(shí)現(xiàn)只有年齡大于等于56歲,才可以申請退休,否則程序會(huì)提示不可以申請退休。

declare

a number(10);

begin

a:=x;

if a=56

then dbms_output.put_line('可以申請退休');

else dbms_output.put_line('不可以申請退休');

end if;

end;

制定一個(gè)月份數(shù)值,然后使用if……then……elsif語句判斷它所屬的季節(jié),并輸出季節(jié)信息。

declare

mon number(10);

begin

mon:=x;

if mon=3 or mon=4 or mon=5

then dbms_output.put_line('春節(jié)');

elsif mon=6 or mon=7 or mon=8 then dbms_output.put_line('夏季');

elsif mon=9 or mon=10 or mon=11 then dbms_output.put_line('秋季');

elsif mon=12 or mon=1 or mon=2 then dbms_output.put_line('冬季');

end if;

end;

制定一個(gè)季度數(shù)值,然后使用case語句判斷它所包含的月份信息并輸出。

declare

ss number(10);

begin

ss:=x;

case

when ss=1 then dbms_output.put_line('包含月份3,4,5');

when ss=2 then dbms_output.put_line('包含月份6,7,8');

when ss=3 then dbms_output.put_line('包含月份9,10,11');

when ss=4 then dbms_output.put_line('包含月份12,1,2');

end case;

end;

在oracle中怎么判斷一個(gè)日期是否在一定時(shí)間范圍內(nèi)

這個(gè)屬于oracle時(shí)間函數(shù)的用法

在oracle里,日期格式是一種特殊的東西

這里有一個(gè)日期轉(zhuǎn)換函數(shù)

select to_char(日期,'yyyy-mm-dd hh24:mi:ss') from tablename;

這里的to_char就是將日期型轉(zhuǎn)換成字符型的一個(gè)函數(shù),轉(zhuǎn)換成的格式就是

2010-08-23 17:51:20

當(dāng)然你可以將這個(gè)日期轉(zhuǎn)換成其他,如:

select to_char(日期,'yyyy-mm-dd') from tablename;

查出來的結(jié)果2010-08-23

所以你要根據(jù)這個(gè)日期來查東西就可以這么用

select * from tablename where to_char(日期,'yyyymmdd')between '20100801' and '20100823'

這個(gè)就是查日期8月1日到8月23日的數(shù)據(jù)

select * from tablename where to_char(日期,'yyyymmdd') = '20100801'

這個(gè)就是查8月1日的數(shù)據(jù)

其他不懂的你再問吧

-------補(bǔ)充------

你把你寫的東西粘貼一下,也好幫你分析啊

你后邊的" + model.Csrq + "參數(shù)傳進(jìn)來的是什么東西?

---------補(bǔ)充2-------

'yyyy-mm-dd 24hi:mi:ss'

這個(gè)地方錯(cuò)了,應(yīng)改成

'yyyy-mm-dd hh24:mi:ss'

不是24hi

oracle判斷是否是數(shù)字

oracle判斷是否是數(shù)字有以下三種方法:

1、自定義存儲(chǔ)過程,利用 to_number函數(shù)實(shí)現(xiàn)

CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)

RETURN NUMBER

IS

v_str FLOAT;

BEGIN

IF str IS NULL

THEN

RETURN 0;

ELSE

BEGIN

SELECT TO_NUMBER (str)

INTO v_str

FROM DUAL;

EXCEPTION

WHEN INVALID_NUMBER

THEN

RETURN 0;

END;

RETURN 1;

END IF;

END isnumeric;

2. 自定義存儲(chǔ)過程,利用 正則表達(dá)式函數(shù)regexp_like 實(shí)現(xiàn)

CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)

RETURN NUMBER

IS

BEGIN

IF str IS NULL

THEN

RETURN 0;

ELSE

IF regexp_like (str, '^(-{0,1}+{0,1})[0-9]+(.{0,1}[0-9]+)$')

THEN

RETURN 1;

ELSE

RETURN 0;

END IF;

END IF;

END isnumeric;

3. 自定義過程,利用 TRANSLATE函數(shù)實(shí)現(xiàn)

CREATE OR REPLACE FUNCTION isnumeric (str IN VARCHAR2)

RETURN NUMBER

IS

v_str VARCHAR2 (1000);

BEGIN

IF str IS NULL

THEN

RETURN 0;

ELSE

v_str := TRANSLATE (str, '.0123456789', '.');

IF v_str = '.' OR v_str = '+.' OR v_str = '-.' OR v_str IS NULL

THEN

RETURN 1;

ELSE

RETURN 0;

END IF;

END IF;

END isnumeric;

oracle 如何判斷數(shù)字字串中是否含有英文字母 如題!

簡單的:一條語句搞定,SqlPlus里面select decode(length(replace(translate('字符串的值','0123456789.',' '),' ','')),0,'is number','is not a number') from dual; 麻煩點(diǎn)的:寫function在oracle數(shù)據(jù)庫中,create or replace function f_str_or_num(str varchar2) return varchar2 is

2 v_num number;

3 v_return varchar2(60);

4 begin

5 v_num:=to_number(str);

6 v_return:=str||' is a number string!';

7 return v_return;

8 exception when others then

9 v_return:=str||' is not a number string!';

10 return v_return;

11 end f_str_or_num; 然后調(diào)用select f_str_or_num('字符串的值) from dual;

網(wǎng)站欄目:oracle怎么實(shí)現(xiàn)判斷 Oracle判斷語句
文章地址:http://www.muchs.cn/article26/hhiccg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)公司、微信小程序面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)