=======================================================
dbms_output.put_line('status:'||status);
====================================================
NVL(EXP1,EXP2),函数返回exp1和exp2 中第一个不为null值。
取得前2列 select * from mass_user where rownum<=2
======================================================
oracle 的to_char、to_number、to_date用法
关键字: oracle 的to_char、to_number、to_date用法
TO_CHAR 是把日期或数字转换为字符串
TO_DATE 是把字符串转换为数据库中得日期类型转换函数
TO_NUMBER 将字符转化为数字
TO_CHAR
使用TO_CHAR函数处理数字
TO_CHAR(number, '格式')
TO_CHAR(salary,’$99,999.99’);
使用TO_CHAR函数处理日期
TO_CHAR(date,’格式’);
TO_NUMBER
使用TO_NUMBER函数将字符转换为数字
TO_NUMBER(char[, '格式'])
TO_DATE
使用TO_DATE函数将字符转换为日期
TO_DATE(char[, '格式'])
数字格式格式
9 代表一个数字
0 强制显示0
$ 放置一个$符
L 放置一个浮动本地货币符
. 显示小数点
, 显示千位指示符
日期格式
格式控制 描述
YYYY、YYY、YY 分别代表4位、3位、2位的数字年
YEAR 年的拼写
MM 数字月
MONTH 月的全拼
MON 月的缩写
DD 数字日
DAY 星期的全拼
DY 星期的缩写
AM 表示上午或者下午
HH24、HH12 12小时制或24小时制
MI 分钟
SS 秒钟
SP 数字的拼写
TH 数字的序数词
“特殊字符” 假如特殊字符
HH24:MI:SS AM 15:43:20 PM
日期例子:
SELECT TO_DATE('2006-05-01 19:25:34', 'YYYY-MM-DD HH24:MI:SS') FROM DUAL
SELECT TO_DATE('2006-05-01 19:25', 'YYYY-MM-DD HH24:MI') FROM DUAL
SELECT TO_DATE('2006-05-01 19', 'YYYY-MM-DD HH24') FROM DUAL
SELECT TO_DATE('2006-05-01', 'YYYY-MM-DD') FROM DUAL
SELECT TO_DATE('2006-05', 'YYYY-MM') FROM DUAL
SELECT TO_DATE('2006', 'YYYY') FROM DUAL
日期说明:
当省略HH、MI和SS对应的输入参数时,Oracle使用0作为DEFAULT值。如果输入的日期数据忽略时间部分,Oracle会将时、分、秒部分都置为0,也就是说会取整到日。
同样,忽略了DD参数,Oracle会采用1作为日的默认值,也就是说会取整到月。
但是,不要被这种“惯性”所迷惑,如果忽略MM参数,Oracle并不会取整到年,取整到当前月。
注意:
1.在使用Oracle的to_date函数来做日期转换时,可能会直觉地采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810 格式代码出现两次”。如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from dual;
2.另要以24小时的形式显示出来要用HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;//mi是分钟
select to_char(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;//mm会显示月份===============================================
substr函数有三个参数,允许你将目标字符串的一部份输出,
第一个参数为目标字符串,
第二个字符串是将要输出的子串的起点,
第三个参数是将要输出的子串的长度。
例子1:
substr('ABCDEFG', 2, 3) = 'BCD'
如果第二个参数为负数,那么将会从源串的尾部开始向前定位至负数的绝对值的位置。
例子2:
substr('ABCDEFG', -2) = 'FG'
substr('ABCDEFG', -4) = 'DEFG'
===============================================
INSTR方法的格式为
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)
例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置。
默认查找顺序为从左到右。当起始位置为负数的时候,从右边开始查找。
所以SELECT INSTR('CORPORATE FLOOR', 'OR', -1, 1) "Instring" FROM DUAL的显示结果是
Instring
——————
14
分享到:
相关推荐
Oracle多行记录合并/连接/聚合字符串的几种方法
本包用于记录存储过程里面的日志,将日志信息写入日志表(mylog)。可以记录日志时间、过程名称、过程里面记录日志的行数、参数值。如果在异常处理部分记录日志,还可以记录异常代码、异常...本人使用开发环境为oracle10g
Oracle返回记录集.docx
oracle中记录用户登录信息的触发器的例子,有具体操作过程,包括错误信息及解释,这个例子是自己为某企业的oracle安全管理的具体例子
Oracle Linux 7 安装 Oracle 11.2.04 记录
吉林大学,Oracle,课堂记录吉林大学,Oracle,课堂记录吉林大学,Oracle,课堂记录吉林大学,Oracle,课堂记录吉林大学,Oracle,课堂记录吉林大学,Oracle,课堂记录吉林大学,Oracle,课堂记录吉林大学,Oracle,...
自已写的可在ORACLE存储过程中记录运行日志工具包,调用方便简单。
查找访问orcale数据库用户名称或IP地址
oracle中取中间记录的方法,用到了minus来去中间记录
多行记录合并 采用的是方法4,希望对你们有用
oracle 常用 记录 model
如何在Oracle数据表中随机抽取部分记录的方法
oracle数据库日志查看方法,排查错误。
Oracle学习记录Oracle-master.zip
Oracle数据库使用LOGMINER来分析日志。 一、安装LogMiner 要安装LogMiner工具,必须首先要运行下面这样两个脚本, $ORACLE_HOME/rdbms/admin/dbmslm.sql $ORACLE_HOME/rdbms/admin/dbmslmd.sql. 这两个...
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId having count (peopleId) > 1) 2、删除表中多余...
oracle学习记录
VC6下访问Oracle 数据库并获取记录总数;
oracle中 ,如何删除重复的记录信息
删除重复记录的方法原理:在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。在重复的记录中,可能所有列的内容都相同,但rowid不会...