PLSQL操作符有哪些
这篇“PLSQL操作符有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“PLSQL操作符有哪些”文章吧。
一、字符函数
1. LOWER (strexp) - 返回字符串,并将所有的字符小写.
selectlower('ABCDE')fromdual
2. UPPER (strexp) 返回字符串,并将所有的字符大写.
selectupper('abcdf')fromdual
3. INITCAP(strexp) 将字符串的(每个单词的)第一个字母变为大写,后面的小写;
selectinitcap('sourcefore')fromdualselectinitcap('SOURCEFORE')fromdual--SourceFore(如果都是大写会自动将第一个字母变为大写其他的小写)
4. CONCAT(strexp, strexp): 连接两个字符串
selectconcat(first_name,last_name)fromemployees
5. SUBSTR(str,start_index,length): 从指定的位置截取指定长度的字符串
selectsubstr('abcdefg',2,3)fromdual
6. LENGTH(strexp):返回字符串的长度
selectlength('abcdef')fromdual
7. INSTR(C1,C2,I,J): 在一个字符串中搜索指定的字符,返回发现指定的字符的位置;
C1:搜索的字符
C2:要搜索的字符
I:表示从哪个位置开始查找
J:查找第几次出现
selectinstr('aborcdoryuklhorp','or',1,2)fromdual---7selectinstr('aborcdoryuklhorp','or',6,2)fromdual---14
8. LPAD( string1, padded_length, [ pad_string ] ) 在列的左边粘贴字符
selectlpad('acd',8)fromdual
9. RPAD(粘贴字符) RPAD? 在列的右边粘贴字符
selectrpad('acd',8,'')fromdualselectrpad('acdefghijklm',8,'')fromdual
10. TRIM(str):截取字符串两端特殊字符
select'abd'fromdualselecttrim('abd')fromdual
11. REPLACE(str,search_str[,replace_str]): 将每次在str中出现的search_str用replace_str替换
selectreplace('HELOVEYOU','HE','I')fromdual
二、数学函数
1. ROUND:传回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。
selectround(3000.926)fromdual--3001--小数部分是两位selectround(3000.926,2)fromdual--3000.93
2. TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,
--只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。selecttrunc(3000.926)fromdual--3000selecttrunc(3000.926,2)fromdual--3000.92
3. MOD(number1,number2)两个数值相除并返回其余数。运算符执行 number1 除以 number2 操作
selectmod(1600,300)fromdual--100
三、转化函数
1. TO_CHAR(date,'fmt') : 是字符类型的函数,转化日期为字符格式('fmt')
必须用单引号括起来,并且是大小写敏感
可包含任何有效的日期格式
fmt值的宽度正好能容纳所有的有效数字
2. 修改当前的语言环境为中文
altersessionsetnls_language='SIMPLIFIEDCHINESE'
--输入当前的系统日期,格式为yyyy-mm-ddselectsysdatefromdualselectto_char(sysdate,'yyyy-mm-dd')fromdual--输入当前的系统日期,格式为yyyy-mon-ddselectto_char(sysdate,'yyyy-mon-dd')fromdual--输入当前的系统日期,格式为yyyy-month-ddselectto_char(sysdate,'yyyy-month-dd')fromdual--输入当前的系统日期,格式为yyyy-mon-dd-dayselectto_char(sysdate,'yyyy-mon-ddday')fromdual--输入当前的系统日期,格式为yyyy-mon-dd-dyselectto_char(sysdate,'yyyy-mon-dd-dy')fromdual--输入当前的系统日期,格式为yyyy-mon-dd-dy-dselectto_char(sysdate,'yyyy/mon/dd/dy/d')fromdual--ddspth日期的英文显示--输入当前的系统日期,格式为yyyy-mon-ddspthselectto_char(sysdate,'yyyy-mon-ddspth')fromdual--2010-4月-seventeenth
3. 修改为英文环境(此语句只对当前的窗口有效,当窗口关闭虚重新设置)
altersessionsetnls_language=AMERICAN;--输入当前的系统日期,格式为yyyy-mm-ddselectto_char(sysdate,'yyyy-mm-dd')fromdual--输入当前的系统日期,格式为yyyy-mon-ddselectto_char(sysdate,'yyyy-mon-dd')fromdual--2010-apr-17--输入当前的系统日期,格式为YYYY-MON-DDselectto_char(sysdate,'yyyy-MON-dd')fromdual--2010-APR-17--输入当前的系统日期,格式为YYYY-MONTH-DDselectto_char(sysdate,'YYYY-MONTH-DD')fromdual--输入当前的系统日期,格式为yyyy-mon-dd-dayselectto_char(sysdate,'yyyy-mon-dd-day')fromdualselectto_char(sysdate,'yyyy-mon-dd-DAY')fromdual--2010-apr-17-SATURDAY--输入当前的系统日期,格式为yyyy-mon-dd-dyselectto_char(sysdate,'yyyy-mon-dd-dy')fromdual--2010-apr-17-satselectto_char(sysdate,'yyyy-mon-dd-DY')fromdual--2010-apr-17-SAT
4. ddspth 不分中英文环境 日期的英文显示
--输入当前的系统日期,格式为yyyy-mon-ddspthselectto_char(sysdate,'yyyy-mon-ddspth')fromdual--2010-apr-seventeenth--小时分秒--输入当前的系统日期,格式为yyyy-mon-ddHH24:MI:SSselectto_char(sysdate,'yyyy-mon-ddHH24:MI:SS')fromdual--输入当前的系统日期,格式为dd-mon-yyyySS:HH24:MI(格式没有顺序)--注意:使用to_char函数转化日期--->字符格式没有顺序selectto_char(sysdate,'dd-mon-yyyySS:HH24:MI')fromdual--输入当前的系统日期,格式为yyyy-mon-ddHH24:MI:SSAM(PM)--增加AMPM--在这个格式中AMPM没有区别,表达的含义是一致的selectto_char(sysdate,'yyyy-mon-ddHH24:MI:SSAM')fromdualselectto_char(sysdate,'yyyy-mon-ddHH24:MI:SSPM')fromdualselectto_char(sysdate,'yyyy-mon-ddHH24:MI:SSPM')fromdual--输入当前的系统日期,格式为ddofmonth(19of1月)--可以在格式中增加字符串,字符串用""引起来selectto_char(sysdate,'ddofmonth')fromdual
5. to_date(char,fmt) 转化字符为日期
第一个参数:符合日期格式的字符第二个参数:格式(同to_char函数转化日期的格式)altersessionsetnls_language='SIMPLIFIEDCHINESE'altersessionsetnls_language=AMERICAN;--转化2008-04月-18这个字符为日期selectto_date('2008-4月-18','yyyy-mon-dd')fromdual;selectto_date('4月-18-2008','mon-dd-yyyy')fromdual;
6.TO_CHAR(number,'fmt'):是字符类型的函数,转化数字为字符
四、日期函数
1. 计算2008-4月-1日和2008-8月-10日相差多少个月--使用months_between(date1,date2)函数
selectmonths_between(to_date('2008-4月-01','yyyy-mon-dd'),to_date('2008-8月-10','yyyy-mon-dd'))fromdualselectmonths_between(to_date('2008-8月-10','yyyy-mon-dd'),to_date('2008-4月-01','yyyy-mon-dd'))fromdual
2. 相差多少个月四舍五入到整数
selectround(months_between(to_date('2008-8月-10','yyyy-mon-dd'),to_date('2008-4月-01','yyyy-mon-dd')))fromdual--给出日期2008-4月-01计算六个月后的日期--使用Add_months(date1,number)selectadd_months(to_date('2008-4月-01','yyyy-mon-dd'),6)fromdual
3. 给出日期date和星期x之后计算下一个星期的日期--使用NEXT_DAY(date,'day')
selectnext_day(to_date('2010-4月-01','yyyy-mon-dd'),'星期三')fromdual
4. 计算指定日期所在月份的最后一天的日期--使用last_day(date)
selectlast_day(to_date('2010-3月-01','yyyy-mon-dd'))fromdual
以上就是关于“PLSQL操作符有哪些”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。