注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

小葫芦君(汉斯的博客)

博客迁移到新博客:https://blog.ssxingshou.com

 
 
 

日志

 
 
关于我

小小葫芦商城,为您提供高品质的商品,一流的产品,一流的包装服务,一流的物流服务,放心购买

网易考拉推荐
GACHA精选

SQL内置函数(2)  

2007-02-27 11:21:17|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

SQL内置函数(2)

关键词SQL    内置函数                                          

SQL内置函数
HEXTORAW
 函数HEXTORAW将一个由十六进制字符组成的字符串转换成一个raw数值。
 其具体的语法格式如下:
 HEXTORAW(string)
 其中:
 string 十六进制字符组成的字符串数据
SQL内置函数
INITCAP
 INITCAP函数接收一字符串,并转换该字符串中的所有单词,以使各单词均以大写字母开头。
 其的语法格式如下:
 INITCAP(string)
 其中:
 string 任意一VARCHAR2或CHAR型数据
 下面是该函数的使用情况。
 INITCAP(‘This is a test’=‘This is a test’
SQL内置函数
INSTR
 函数INSTR会告诉用户,其中的一个字符串(参数)是否在另一个字符串(也是参数)当中。
 其具体的语法格式如下:
 INSTR(string,substring[,start[,occurrence]])
 其中:
 string 待查询的字符串
 substring 正在搜索的字符串
 start 说明开始搜索的字符位置。默认值是1,就是说,搜  索将从字符串的第一个字符开始。如果,参数为负  则表示搜索的位置从右边开始计算,而不是默认的  从左边开始
 occurrence 指定试图搜索的子串的第几次出现,默认值是1,意  味着希望其首次出现
 该函数反馈一索引顺序值,在该位置发现了要搜索的子串。下面的例子指出了INSTR函数的使用情况:
 INSTR(‘AAABAABA’,’B’)=4
 INSTR(‘AAABAABA’,’B’,1,2)=7
SQL内置函数
INSTRB
 该函数与INSTR的功能极为类似,也将反馈其中的一个字符串(参数)是否在另一个字符串(也是参数)当中。只是该函数返回的是一字节索引位置,而不是一字符索引位置。其实,仅仅在多个字符集同时被使用时,这种不同才有意义。
 其具体的语法格式如下:
 INSTRB(string,substring[,start[,occurrence]])
 其中:
 string 待查询的字符串
 substring 正在搜索的字符串
 start 说明开始搜索的字符位置。默认值是1,就是说,搜索将从字  符串的第一个字符开始。如果,参数为负则表示搜索的位置从  右边开始计算,而不是默认的从左边开始
 occurrence 指定试图搜索的子串的第几次出现,默认值是1,意味着希望  其首次出现
 该函数反馈一索引顺序值,在该位置发现了要搜索的子串。下面的例子指出了INSTRB函数的使用情况:
 INSTRB(‘AAABAABA’,’B’)=4
 INSTRB(‘AAABAABA’,’B’,1,2)=7
SQL内置函数
LAST_DAY
 函数LAST_DAY返回实参数指定日期对应月份的最后一天。其具体的语法格式如下:
 LAST_DAY(date)
 其中:
 date 一日期数值
 下面是该函数的使用情况:
 LAST_DAY(TO_DATE(’29-Dec-1988’,’dd-mon-yyyy’))
  =’31-Dec-1988’
 LAST_DAY(TO_DATE(’1-Feb-2000’,’dd-mon-yyyy’))
  =’29-Feb-2000
SQL内置函数
LEAST
 LEAST函数返回参数给定的数值列表中的最小值。对数值数据或字符串数据均有效。
 其具体的语法格式如下:
 LEAST(value,value,value,…)
 其中:
 value 一数字或文本数值。尤其要注意的是所有的数据类  型应该一致。如果类型相混,返回值将匹配第一个  参数的数据类型,而且,其它所有的参数均被转换  成该参数的数据类型
 下面是该函数的使用情况:
 LEAST(1,3,9,45,93,2,-100)=-100
 LEAST(’Jenny’,’Jeff’,’Ashley’)=‘Ashley’
 LEAST(’110’,12)=‘110’
 第三个例子说明了,当参数的数据类型相混时函数的处理机制。因为第一个参数实字符串,所以,将数字1转换成字符串‘1’,一匹配对应的数据类型。虽然在数值上110大于12,但如果都转换成字符串,则结果正好相反。这种情况下,‘12’大于‘110’(一顺序为基础),这就是函数的返回结果。
SQL内置函数
LENGTH
 LENGTH函数返回字符串的长度。
 其具体的语法格式如下:
 LENGTH(string)
 其中:
 string 任意字符串
 下面是该函数的使用情况:
 LENGTH(’This is short’)=13
 LENGTH(’This is a bit longer’)=20
SQL内置函数
LENGTHB
 LENGTHB函数返回字符串的长度。但在多字符集同时使用时会有所区别。
 其具体的语法格式如下:
 LENGTHB(string)
 其中:
 string 任意字符串
 下面是该函数的使用情况:
 LENGTHB(’This is short’)=13
 LENGTHB(’This is a bit longer’)=20

SQL内置函数
LN
 函数LN返回一数值的自然对数。
 其具体的语法格式如下:
 LN(number)
 其中:
 number 大于0的任意数值
 下面是该函数的使用情况:
 LN(10)=2.3025851
 EXP(2.3025851)=10
 可见,将函数LN的结果作为参数,通过再调用函数EXP可得到函数LN的原参数值。
SQL内置函数
LOG
 LOG函数返回数值的非自然对数。
 其具体的语法格式如下:
 LOG(logbase,number)
 其中:
 logbase 除1和0以外的任意数值,是对数的底
 number 及对数的真数
 下面是该函数的使用情况:
 LOG(10,100)=2
 LOG(EXP(1),10)=2.3025851=LN(10)
 因为102等于100,所以,以10为底时100的对数是2。注意:LOG(e,x)=LN(x).可以使用EXP(1)得到e的值。
SQL内置函数
LOWER
 函数LOWER返回参数指定字符串的小写形式。
 其具体的语法格式如下:
 LOWER(atring)
 其中:
 string 任意VARCHAR2型或CHAR型的数值 
 下面是该函数的使用情况:
 LOWER(’This IS a Test’)=‘This is a test’
SQL内置函数
LPAD
 LPAD函数从左面填充指定的字符串。
 其具体的语法格式如下:
 LPAD(string,numchars[,padding])
 其中:
 string 任意VARCHAR2型或CHAR型的字符串
 numchars 返回字符串的字符个数
 padding 填充字符。是一可选项,默认为单个空格
 下面是该函数的使用情况:
 LPAD(’Jenny’,10)=‘Jenny’(5 leading spaces)
 LPAD(’Jenny’,10,’*’)=‘*****Jenny’
 LPAD(’Jenny’,10,’*!’)=‘*!*!*Jenny’
SQL内置函数
LTRIM
 LTRIM函数删除字符串左边的前缀字符。一般前缀字符总是空格。
 其具体的语法格式如下:
 LTRIM(string[,trimchars])
 其中:
 string 任意VARCHAR2型或CHAR型的数值
 trimchars 待删除的字符串
 下面是该函数的使用情况:
 LTRIM(’     Jeff’)=‘Jeff’(leading spaces removed)
 LTRIM(’*****Jeff’,’*’)=‘Jeff’
 LTRIM(’*!*!*Jeff’,’*!’)=‘Jeff’
SQL内置函数
MOD
 MOD函数返回一个数除以另一数的余数。
 其具体的语法格式如下:
 MOD(number,divisor)
 其中:
 number 任意数值
 divisor 任意数值。该函数计算number/divisor的余数
 下面是该函数的使用情况:
 MOD(14,12)=2(1400 hours=2:00 O’Clock)
 MOD(10,10)=0
 MOD(10,0)=10
 注意:如果除数为0则返回原来的数
SQL内置函数
MONTHS_BETWEEN
 MONTHS_BETWEEN函数返回两个日期之间的月份数
 其具体的语法格式如下:
 MONTHS_BETWEEN(date_1,date_2)
 其中:
 date_1 日期型数据
 date_2 一日期型数据
 如果两个参数代表的是某月中的同一日期,或它们军代表的某月中的最后一天,则该函数返回一整型值。否则,将返回一分数。另外,如果第一个参数代表的日期小于第二个参数代表的日期,则返回一负值。
 下面是该函数的使用情况:
 MONTHS_BETWEEN(TO_DATE(’29-Dec-1999’,’dd-mon-yyyy’),
  TO_DATE(’29-Dec-1988’,’dd-mon-yyyy’))=132
 MONTHS_BETWEEN(TO_DATE(’29-Dec-1999’,’dd-mon-yyyy’),
  TO_DATE(’24-Nov-1988’,’dd-mon-yyyy’))=133.16129
 在第一个例子中,两个参数均为某一月中的29号,所以返回一整型值(其间相差的月份数),在第二个例子中,因两个参数表示的日期不是同一天,所以返回一分数(以31天为基础计算处理)
SQL内置函数
NEW_TIME
 NEW_TIME函数将在时区间转换日期/时间数据。
 其具体的语法格式如下:
 NEW_TIME(date,oldzone,newzone)
 其中:
 date  一日期数值。在Oracle中,除其自己以外,所有日  期数值都有时间和记号这样的成分
 oldzone 代表时区的字符串。有效的时区如表所示。被推算  出的日期数值就在该时区当中
 newzone 也是代表时区的字符串。被从老时区到新时区转换的日期数值
 下面是该函数的使用情况:
 NEW_TIME(TO_DATE(’25-Dec-1999 8:00’,’dd-mom-yyyy HH:MI’),’EST’,’PST’)=’25-DEC-1999NEXT_DAY函数返回从实参日期开始,紧随其后的指定星期对应的日期。
 其具体的语法格式如下:
 NEXT_DAY(date,weekday)
 其中:
 date 一日期数据
 weekday 一字符串,说明某一天的星期几的名称。可以使用全称,也可以使用缩写,但对于用户的编程语言做的日期设置来说必须是有效的日期
 下面是该函数的使用情况:
 NEXT_DAY(TO_DATE(’24-Nov-1999’),’dd-mon-yyyy’,’FRIDAY’)
     =’26-Nov-1999’
 NEXT_DAY(TO_DATE(’24-Nov-1999’),’dd-mon-yyyy’,’WED’)
     =’01-Dec-1999’
 注意:在第二个例子当中,24-Nov-1999正好落在星期三:Wednesday。下一个’WED’自然就是1-Dec-1999,所以,函数NEXT-DAY返回的结果就是
 ’01-Dec-1999’
SQL内置函数
NVL
 NVL函数需要两个参数。如果第一个参数为空,则返回第二个参数。第二个参数表示是第一个参数的替换对象。
 其具体的语法格式如下:
 NVL(value,alternative)
 其中:
 value  一个可为空的值。它不为空的时候将作为返回值
 alternative  只要它不是空的就是将被返回的值
 下面是该函数处理数据库的某些列包括空值时的情况:
 SELECT emp_id,NVL(emp_name,’Name Missing!’)
 FROM emp_table;
 在该例中,如果雇员有名字,将通过该函数返回其名字。如果雇员的名字为空,将返回‘Name Missing!’
SQL内置函数
POWER
 函数POWER返回一个数值的指定次幂。
 其具体的语法格式如下:
 POWER(number,power)
 其中:
 number 任意数值
 power 幂次数。函数的结果其实即:number幂次。如果第  一个参数为负数,则该幂次数务必是一整数。其它  情况可为任意数值
 下面是该函数的使用情况:
 POWER(10,2)=100(10*10)
 POWER(10,3)=1000
 POWER(-10,3)=-1000
SQL内置函数
RAWTOHEX
 RAWTOHEX函数将一raw转换成十六进制字符表示的串值。
 其具体的语法格式如下:
 RAWTOHEX(raw_value)
 其中:
 raw_value  一RAW型数值
 下面是该函数的使用情况:
 SQL>CREATE TABLE xx(y raw(10));
 Table created.
 SQL>INSERT INTO xx VALUES(HEXTORAW(‘414243’));
 1 row created.
 SQL>SELECT RAWTOHEX(y) FORM xx;
 RAWTOHEX(Y)
 ------
 414243
SQL内置函数
REPLACE
 REPLACE函数在一字符串中搜索一指定的子串,并将其替换成另外一指定串。
 其具体的语法格式如下:
 REPLACE(string,substring[,replace_string])
 其中:
 string  被搜索字符串。在其中搜索待替换串
 substring  被搜索子串。所有找到的子串均被替换掉
 replace_string 替换结果子串。是一可选项。如果该参数被忽略,   则所有被搜索到的子串实质上均被删除
 下面是该函数的使用情况:
 REPLACE(’This is a test’,’is’,’was’)=‘Thwas was a test’
 REPLACE(’This is a test’,’is’)=‘Th a test’
SQL内置函数
ROUND(for dates)
 ROUND函数将一日期处理(舍入)成第二个参数指定的形式。
 其具体的语法格式如下:
 ROUND(date[,fmt])
 其中:
 date  一个日期数值
 fmt  是一个日期格式说明符。指定日期将被处理成该说明符指定的  形式。省略该参数,则指定日期将被处理到最近的一天
 下面是该函数的使用情况:
 ROUND(TO_DATE(’24-Nov-1999  =’25-Nov-1999ROUND(TO_DATE(’24-Nov-1999  =’24-Nov-1999注意:这种处理过程可能意味着日期数值的改变。在第一个例子中,因为8:00 PM是紧邻第二天的一精确值,所以处理结果被转到下一天(25th)而不是当天(24th).

  评论这张
 
阅读(1219)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017