ORACLE常用数值函数、转换函数、字符串函数(2)

来源:asp之家 时间:2009-11-21 09:31:00 

(三).字符型函数返回数字值(Character Functions Returning Number Values)
本类函数支持所有的数据类型
1、INSTR(c1,c2[,n1[,n2]]) 返回c2在c1中位置
 c1:原字符串
 c2:要寻找的字符串
 n1:查询起始位置,正值表示从左到右,负值表示从右到左 (大小表示位置,比如3表示左面第3处开始,-3表示右面第3处开始)。黑黑,如果为0的话,则返回的也是0
 n2:第几个匹配项。大于0
例如:SELECT INSTR('abcdefg','e',-3) FROM DUAL;
2、LENGTH(c) 返回指定字符串的长度。如果
例如:SELECT LENGTH('A123中') FROM DUAL;
猜猜SELECT LENGTH('') FROM DUAL;的返回值是什么
(四).日期函数(Datetime Functions)
本类函数中,除months_between返回数值外,其它都将返回日期。
1、ADD_MONTHS() 返回指定日期月份+n之后的值,n可以为任何整数。
例如:SELECT ADD_MONTHS(sysdate,12),ADD_MONTHS(sysdate,-12) FROM DUAL;
2、CURRENT_DATE 返回当前session所在时区的默认时间
例如:
SQL> alter session set nls_date_format = 'mm-dd-yyyy' ;
SQL> select current_date from dual;
3、SYSDATE 功能与上相同,返回当前session所在时区的默认时间。但是需要注意的一点是,如果同时使用sysdate与current_date获得的时间不一定相同,某些情况下current_date会比sysdate快一秒。经过与xyf_tck(兄台的大作ORACLE的工作机制写的很好,深入浅出)的短暂交流,我们认为current_date是将current_timestamp中毫秒四舍五入后的返回,虽然没有找到文档支持,但是想来应该八九不离十。同时,仅是某些情况下会有一秒的误差,一般情况下并不会对你的操作造成影响,所以了解即可。
例如:SELECT SYSDATE,CURRENT_DATE FROM DUAL;
4、LAST_DAY(d) 返回指定时间所在月的最后一天
例如:SELECT last_day(SYSDATE) FROM DUAL;
5、NEXT_DAY(d,n) 返回指定日期后第一个n的日期,n为一周中的某一天。但是,需要注意的是n如果为字符的话,它的星期形式需要与当前session默认时区中的星期形式相同。
例如:三思用的中文nt,nls_language值为SIMPLIFIED CHINESE
SELECT NEXT_DAY(SYSDATE,5) FROM DUAL;
SELECT NEXT_DAY(SYSDATE,'星期四') FROM DUAL;
两种方式都可以取到正确的返回,但是:
SELECT NEXT_DAY(SYSDATE,'Thursday') FROM DUAL;
则会执行出错,提供你说周中的日无效,就是这个原因了。
6、MONTHS_BETWEEN(d1,d2) 返回d1与d2间的月份差,视d1,d2的值大小,结果可正可负,当然也有可能为0
例如:
SELECT months_between(SYSDATE, sysdate),
months_between(SYSDATE, add_months(sysdate, -1)),
months_between(SYSDATE, add_months(sysdate, 1))
FROM DUAL;
7、ROUND(d[,fmt]) 前面讲数值型函数的时候介绍过ROUND,此处与上功能基本相似,不过此处操作的是日期。如果不指定fmt参数,则默认返回距离指定日期最近的日期。
例如:SELECT ROUND(SYSDATE,'HH24') FROM DUAL;
8、TRUNC(d[,fmt]) 与前面介绍的数值型TRUNC原理相同,不过此处也是操作的日期型。
例如:SELECT TRUNC(SYSDATE,'HH24') FROM DUAL;

标签:ORACLE,函数,字符串
0
投稿

猜你喜欢

  • scrapy爬虫完整实例

    2021-06-08 09:34:26
  • Sql Server 2000删除数据库备份文件

    2024-01-18 06:39:54
  • python创建文件时去掉非法字符的方法

    2023-10-12 02:15:51
  • 信息分类是为了更好的索引

    2010-02-04 17:51:00
  • Python深度学习之使用Albumentations对图像做增强

    2023-11-24 06:18:23
  • Python脚本实现自动登录校园网

    2023-01-26 09:37:56
  • Django实现文件上传下载

    2022-03-17 18:42:48
  • pandas通过字典生成dataframe的方法步骤

    2023-04-19 14:52:37
  • pyqt5与matplotlib的完美结合实例

    2022-01-09 12:23:59
  • python的ping网络状态监测的实现(含多IP)

    2022-03-16 07:21:29
  • 基于canvas的二维码邀请函生成插件

    2024-04-17 10:40:53
  • 基于TensorBoard中graph模块图结构分析

    2021-01-11 16:58:52
  • Python分析彩票记录并预测中奖号码过程详解

    2023-07-20 04:49:18
  • 使用用SQL语句从电脑导入图片到数据库的方法

    2024-01-13 22:29:00
  • Mysql性能优化案例 - 覆盖索引分享

    2024-01-27 15:16:59
  • Python实例详解递归算法

    2023-05-17 02:25:06
  • Python实现将长图制作成一个视频

    2022-09-28 06:09:09
  • python如何读取和存储dict()与.json格式文件

    2021-12-07 16:13:36
  • 不能忽略c#中的using和as操作符的用处

    2024-03-23 08:08:41
  • Python文字截图识别OCR工具实例解析

    2021-07-02 12:58:20
  • asp之家 网络编程 m.aspxhome.com