
sql
ThisSin
这个作者很懒,什么都没留下…
展开
-
Oracle如何扩展表空间
–查看表空间的名字及文件所在位置select tablespace_name,file_id,file_name,round(bytes / (1024 * 1024), 0) total_spacefrom sys.dba_data_filesorder by tablespace_name查询表空间信息select username,default_tablespace,t....原创 2019-10-14 17:43:36 · 440 阅读 · 0 评论 -
oracle中对时间的判断(精确到时分秒)
以aae040为时间节点。 aae040 >= to_date(‘20170101’, ‘yyyymmdd’) aae040 <= to_date(‘20171231’, ‘yyyymmdd’) + 0.99999原创 2018-09-04 10:06:23 · 3791 阅读 · 0 评论 -
存储过程逻辑判断
具体代码如下:declare v varchar2(50) := '123' ;k number(12) ;beginif v = '1' then k := 1;elsif v = '123' then k := 2;elsif instr(v,'12') > 0 then k := 3;end if;end ;存储过程中最后k值输出的值为 2...原创 2018-09-04 10:09:29 · 1922 阅读 · 0 评论 -
存储过程值的比较
在oracle中进行 != , is not null , not in 的比较时,比较的值不能为空值。declare v varchar2(50) := '' ;beginif v = '123' then v := '1';end if;end ;当定义的变量v=”的时候,不进入判断语句; 当定义的变量v=’ ‘的时候,进入判断语句,最近v=’1’; 当v...原创 2018-09-04 10:18:22 · 750 阅读 · 0 评论 -
oracle
ceil和floor函数ceil和floor函数在一些业务数据的时候,有时还是很有用的。ceil(n) 取大于等于数值n的最小整数;floor(n)取小于等于数值n的最大整数具体如下:...原创 2018-10-18 10:10:27 · 180 阅读 · 0 评论 -
sql让一条数据放不同
select 姓名,课程,成绩 from Table_Bunpivot(成绩 for 课程 in ([语文],[数学],英语)) 临时表或者select 姓名,‘语文’ as 课程,语文 as 成绩 from Table_B union allselect 姓名,‘数学’ as 课程,数学 as 成绩 from Table_B union allselect 姓名,‘英语’ as 课程,英语 ...原创 2018-10-08 10:02:02 · 177 阅读 · 0 评论 -
ORA-01439:要更改数据类型,则要修改的列必须为空
/修改原字段名name为name_tmp/alter table tb rename column name to name_tmp;/增加一个和原字段名同名的字段name/alter table tb add name varchar2(40);/将原字段name_tmp数据更新到增加的字段name/update tb set name=trim(name_tmp);/更新完,删除原...原创 2019-03-08 15:38:43 · 529 阅读 · 0 评论 -
oracle常用函数
常用函数转换大小写的: lower全部为小写 upper全部大写 initcap首字母大写字符的函数:concat(A,B)连接A,B substr(‘string’,1,3) str 截取1-3的字符Instr(‘B’,’A’) 字符A在B中的位置日期函数:SYSDATE 返回系统日期MONTHS_BETWEEN(date1, date2):返回 date1 和date2之...原创 2019-04-10 15:57:20 · 198 阅读 · 0 评论 -
MONTHS_BETWEEN
MONTHS_BETWEEN (date1, date2)用于计算date1和date2之间有几个月。select FLOOR(MONTHS_BETWEEN(sysdate, to_date(‘1949-10-01’,‘yyyy-mm-dd’)) / 12) from DUAL;原创 2019-04-28 17:34:31 · 2399 阅读 · 0 评论 -
函数传入代码值输出代码说明
CREATE OR REPLACE FUNCTION FUN_IS_CKC055_CHANGE(PRM_CKC055 IN VARCHAR2) RETURN VARCHAR2 ISV_ckc055_explain VARCHAR2(200) := ‘0’; --ckc055字段说明v_element varchar2(200);v_tmp varchar2(200);v...原创 2019-05-05 16:47:56 · 205 阅读 · 0 评论 -
Oracle中instr和substr 的应用
instr函数 instr函数用于从指定的位置开始,从某对象中查找第N个与模式匹配的字符串。 实例: SELECT instr(‘syranmo’,’s’) FROM dual; – 返回 1 SELECT instr(‘syranmo’,’ra’) FROM dual; – 返回 3 SELECT instr(‘syran mo’,’a’,1,2) FROM dual;...原创 2018-08-15 17:12:23 · 202 阅读 · 0 评论 -
存储过程的动态执行
存储过程的动态执行语法: EXECUTE IMMEDIATE v_sql ;DECLARE I INTEGER; v_sql VARCHAR2(2000);BEGIN --获取定点 v_sql := 'insert into jtysqy_test select * from test1; EXECUTE IM...原创 2018-08-15 16:25:03 · 794 阅读 · 0 评论 -
触发器学习2
4,例一:行级触发器之一 CREATE OR REPLACE TRIGGER salary_raiu AFTER INSERT OR UPDATE OF amount ON salary FOR EACH ROW BEGIN IF inserting THEN dbms_output.put_line(‘插入’); ELSIF updating THEN dbms_outp...转载 2018-07-11 13:56:50 · 602 阅读 · 0 评论 -
DB2常用函数
1,char函数 char(current date,ISO)——> 转换成yyyy-mm-dd char(current date,USA)——>转换成mm/dd/yyyy char(current date,EUR)——>转换成dd.mm.yyyy 2.时间函数 给定了日期、时间或时间戳,则使用适当的函数抽取出(如果适用的话)年、月、日、时、分、秒及微秒各部分: YEAR (c翻译 2017-11-20 10:47:14 · 1156 阅读 · 0 评论 -
plsql中调试
step into:单步执行,遇到子函数就进入并且继续单步执行(简而言之,进入子函数); step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。有一点,经过我们简单的调试,在不存在子函数的情况下是和step into效果一样的(简而言之,越过子函数,但子函数会执行)。 step out:当单步执行到子函数内时,...原创 2018-04-16 10:07:25 · 481 阅读 · 0 评论 -
oracle 存储过程自制事物处理
```PROCEDURE prc_log_info (PRM_VER IN VARCHAR2, --报文版本号 PRM_SRC IN VARCHAR2, --定点编号 PRM_DES IN VARCHAR2, --参保地统筹区号 ...原创 2018-05-07 17:06:01 · 524 阅读 · 0 评论 -
oracle取随机数
1、从表中随机取记录 select * from (select * from staff order by dbms_random.random) where rownum < 4 表示从STAFF表中随机取3条记录 2、产生随机数 SELECT DBMS_RANDOM.RANDOM FROM DUAL; 产生一个任...转载 2018-05-25 10:17:52 · 317 阅读 · 0 评论 -
oracle数据导出
1 .将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp system/manager@TEST file=d:\daochu.dmp full=y 2. 将数据库中system用户与sys用户的表导出 exp system/manager@TEST file=d:\daochu.d...原创 2018-05-16 16:54:19 · 154 阅读 · 0 评论 -
简单动态游标写法
-- Created on 2018/5/28 declare -- Local variables here V_SQL VARCHAR2(1000); --i integer; rec_kc22 kc22%rowtype; TYPE ref_cursor_type IS REF CURSOR; --定义一个动态游标 u...原创 2018-05-28 17:57:20 · 568 阅读 · 0 评论 -
oracle 10g不支持 continue解决方法
解决方案如下 : 采用goto进行跳转DECLARE done BOOLEAN;BEGIN FOR i IN 1..50 LOOP IF done THEN GOTO end_loop; END IF; <<end_loop>> -- not allowed unless an executable...转载 2018-06-21 10:04:06 · 1880 阅读 · 0 评论 -
trunc函数的用法
trunc 函数可用于截取日期时间 用法:trunc(字段名,精度) 具体实例: 在表table1中,有一个字段名为sysdate,该行id=123,日期显示:2016/10/28 15:11:58 1、截取时间到年时,sql语句如下: select trunc(sysdate,’yyyy’) from table1 where id=123; –yyyy也可用year替换 显示:2...转载 2018-06-01 15:17:21 · 3961 阅读 · 0 评论 -
存储过程中一维数组接受按分割符拆分的数据
declare -- Local variables here i integer; Lar_Input t_Arr.Arrname; --一维数组接收 按分隔符拆分begin -- Test statements here Pkg_n_Cst_String.Prc_Parsetoarr('A|B|C|D|E|', '|', Lar_Input);---将字符按照对应分...原创 2018-06-01 15:46:59 · 457 阅读 · 0 评论 -
触发器的学习
触发器使用教程和命名规范目 录 触发器使用教程和命名规范 1 1,触发器简介 1 2,触发器示例 2 3,触发器语法和功能 3 4,例一:行级触发器之一 4 5,例二:行级触发器之二 4 6,例三:INSTEAD OF触发器 6 7,例四:语句级触发器之一 8 8,例五:语句级触发器之二 9 9,例六:用包封装触发器代码 10 10,触发器命名规范 11 1,触发器简...转载 2018-07-11 11:43:04 · 273 阅读 · 0 评论 -
SQL Cursor 基本用法
1,游标(执行以下相当于select一下) 2,游标一般格式: declare 游标名称 CURSOR FOR SELECT 字段1,字段2,字段… FROM 表名 WHERE … OPEN 游标名称 FETCH NEXT FROM 游标名称 INTO 变量名1,变量名2,变量名3,… WHILE @@FETCH_STATUS=0 BEGIN原创 2017-11-15 09:12:42 · 336 阅读 · 0 评论