日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

oracle易忘函数用法(1)

發(fā)布時(shí)間:2024/9/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle易忘函数用法(1) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一般的to_char是這樣用的to_char(sysdate,'YYYY-MM-DD hh:mi:ss AM')?,也有幾個(gè)突出點(diǎn)的用法:

to_char(sysdate, 'dd') 查看今天是幾號(hào)to_char(sysdate, 'ww') 查看這是這個(gè)月第幾個(gè)星期

to_char(sysdate, 'mm')? 查看這是一年中第幾個(gè)月

to_char(sysdate, 'yyyy') 查看年份

last_day(to_date('2007-02-01','YYYY-MM-DD'))查看一個(gè)月的最后一 天,add_months(sysdate,10)查看若干個(gè)月后的今天,next_day(sysdate,'星期五')給個(gè)日期查看后面的最近的星期 幾的日期,不過(guò)這個(gè)星期五要是換成英文居然有問(wèn)題,第2個(gè)參數(shù)可以是數(shù)字1-7,分別表示周日到周六。

下面貼個(gè)全的,需要的時(shí)候順便查一下。

一、PL/SQL單行函數(shù)和組函數(shù)詳解

函數(shù)是一種有零個(gè)或多個(gè)參數(shù)并且有一個(gè)返回值的程序。在SQL中Oracle內(nèi)建了一系列函數(shù),這些函數(shù)都可被稱(chēng)為SQL或PL/SQL語(yǔ)句,函數(shù)主要分為兩大類(lèi):單行函數(shù)和組函數(shù)。

本文將討論如何利用單行函數(shù)以及使用規(guī)則。

1、SQL中的單行函數(shù)

SQL和PL/SQL中自帶很多類(lèi)型的函數(shù),有字符、數(shù)字、日期、轉(zhuǎn)換、和混合型等多種函數(shù)用于處理單行數(shù)據(jù),因此這些都可被統(tǒng)稱(chēng)為單行函數(shù)。這些 函數(shù)均可用于SELECT,WHERE、ORDER BY等子句中,例如下面的例子中就包含了TO_CHAR,UPPER,SOUNDEX等單行函數(shù)。

SELECT ename,TO_CHAR(hiredate,'day,DD-Mon-YYYY')FROM

empWhere UPPER(ename) Like 'AL%'ORDER BY SOUNDEX(ename)

單行函數(shù)也可以在其他語(yǔ)句中使用,如update的SET子句,INSERT的VALUES子句,DELET的WHERE子句,認(rèn)證考試特別注意在SELECT語(yǔ)句中使用這些函數(shù),所以我們的注意力也集中在SELECT語(yǔ)句中。

2、NULL和單行函數(shù)

在如何理解NULL上開(kāi)始是很困難的,就算是一個(gè)很有經(jīng)驗(yàn)的人依然對(duì)此感到困惑。NULL值表示一個(gè)未知數(shù)據(jù)或者一個(gè)空值,算術(shù)操作符的任何一個(gè)操 作數(shù)為NULL值,結(jié)果均為提個(gè)NULL值,這個(gè)規(guī)則也適合很多函數(shù),只有CONCAT,DECODE,DUMP,NVL,REPLACE在調(diào)用了 NULL參數(shù)時(shí)能夠返回非NULL值。在這些中NVL函數(shù)時(shí)最重要的,因?yàn)樗苤苯犹幚鞱ULL值,NVL有兩個(gè)參數(shù):NVL(x1,x2),x1和x2 都式表達(dá)式,當(dāng)x1為null時(shí)返回X2,否則返回x1。

下面我們看看emp數(shù)據(jù)表它包含了薪水、獎(jiǎng)金兩項(xiàng),需要計(jì)算總的補(bǔ)償。

column name emp_id salary bonuskey type pk nulls/unique nn,

u nnfk table datatype number number numberlength 11.2 11.2

不是簡(jiǎn)單的將薪水和獎(jiǎng)金加起來(lái)就可以了,如果某一行是null值那么結(jié)果就將是null,比如下面的例子:

update empset salary=(salary+bonus)*1.1

這個(gè)語(yǔ)句中,雇員的工資和獎(jiǎng)金都將更新為一個(gè)新的值,但是如果沒(méi)有獎(jiǎng)金,即 salary + null,那么就會(huì)得出錯(cuò)誤的結(jié)論,這個(gè)時(shí)候就要使用nvl函數(shù)來(lái)排除null值的影響。

所以正確的語(yǔ)句是:

update empset salary=(salary+nvl(bonus,0)*1.1

3、單行字符串函數(shù)

單行字符串函數(shù)用于操作字符串?dāng)?shù)據(jù),他們大多數(shù)有一個(gè)或多個(gè)參數(shù),其中絕大多數(shù)返回字符串。

ASCII()

c1是一字符串,返回c1第一個(gè)字母的ASCII碼,他的逆函數(shù)是CHR()

SELECT ASCII('A') BIG_A,ASCII('z') BIG_z FROM empBIG_A BIG_z65 122

CHR()[NCHAR_CS]

i是一個(gè)數(shù)字,函數(shù)返回十進(jìn)制表示的字符。

select CHR(65),CHR(122),CHR(223) FROM empCHR65 CHR122 CHR223A z B

CONCAT(,)

c1,c2均為字符串,函數(shù)將c2連接到c1的后面,如果c1為null,將返回c2.如果c2為null,則返回c1,如果c1、c2都為null,則返回null。他和操作符||返回的結(jié)果相同

select concat('slobo ','Svoboda') username from dualusernameslobo Syoboda

總結(jié)

以上是生活随笔為你收集整理的oracle易忘函数用法(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。