Oracle
XIAOTWOB
在世界面前,堂堂正正的站立;
永远永远不再畏惧,即使在寒冷的街头
展开
-
第四章:条件与顺序控制(注意点)
1、IF语句的语法要点一个IF永远与一个END IF 相匹配在END 和 IF 之间必须有个空格ELSIF关键词只在END IF 后面放一个分好,THEN 、ELSE、ELSIF后面都不带分号2、短路估算存在两个条件判断时,将判断复杂的放在后面3、CASE语句与表达式CASE expressionWHEN result1 THEN statements1WHEN result2 THEN statements2...ELSE statements_elseEND CA原创 2020-08-19 17:12:44 · 287 阅读 · 0 评论 -
PL/SQL 语言基础(标签的作用)
1、规范SQL语句中对变量和列的引用PACKAGE BODY scope_demoIS PROCEDURE set_global (number_in IN NUMBER) IS 1_salary NUMBER := 10000; 1_count PLS_INTEGER; BEGIN <<local_block>> DECLARE 1_inner PLS_INTEGER; BEGIN SELECT COUNT(*) INTO set原创 2020-08-18 17:00:15 · 423 阅读 · 0 评论 -
数据库-开窗函数
1、排序--rank为重复不连续,dense_rank为重复连续,row_number不重复,按顺序下来row_number () over (partition by ... order by ...)dense_rank() over (partition by ... order by ...)rank() over (partition by ... order by ...)...原创 2020-04-30 15:50:11 · 445 阅读 · 0 评论 -
04-13工作笔记
--注意点,要是时间刚好是0时0分0秒的话,就只显示年月日,不显示时分秒SELECT TO_DATE('2020/1/1 00:00:00','YYYY/MM/DD HH24:MI:SS') AS D FROM DUAL;>>>2020/1/1SELECT TO_DATE('2020/1/1 00:00:01','YYYY/MM/DD HH24:MI:SS') AS D...原创 2020-04-13 16:43:02 · 128 阅读 · 0 评论 -
oracle的字段内容判断
关于oralce字符串值的内容的判断--查询name里面不是justin4的全部字段的内容:SELECT * FROM EMP WHERE NAME <> 'justin4';SELECT * FROM EMP WHERE NAME != 'justin4';>>>注意点:这里不可以使用is not >>> is not用于判断是否为空(...原创 2020-03-26 17:50:09 · 686 阅读 · 0 评论 -
关于时间格式数据的保留问题
--保存年月日格式的时间数据SELECT TRUNC(SYSDATE) FROM DUAL;--时间格式可以直接进行加减数字SELECT TRUNC(SYSDATE)-3 FROM DUAL;--时间相减SELECT TRUNC(SYSDATE)- TO_DATE('2020/1/1','YYYY/MM/DD') FROM DUAL;--TO_DATE里面可以放查询的字段SEL...原创 2020-03-24 17:11:28 · 325 阅读 · 0 评论 -
0318工作备忘(关于python调用sql语句)
python调用sql语句的过程中,提示ORA-00911:无效字符。查看python语句,以及sql语句的正确性之后,发现是sql语句的结束符号(;)造成的报错。去掉;之后,执行正常。...原创 2020-03-18 16:59:13 · 153 阅读 · 0 评论 -
substr和instr
1、substr(用于截取字段)格式:substr(待截取字段,起始位置,截取长度)注意点:1、起始位置=0/1的时候,都是从第一位开始截取2、不进行赋值则截取到最后3、开始位置也可以是负值,从后往前-1开始计数,但是截取的方向不变,一样是从前往后4、剩余字符长度小于截取长度时,以剩余字符为准5、截取结果包括起始位置的字符例子select substr('HelloWorld',...原创 2020-03-18 09:53:50 · 1442 阅读 · 0 评论 -
备忘
1、以'land'结尾的NAMESELECT NAME FROM TABLE_A WHERE NAME like '%land';2、含有'x'的NAMESELECT NAME FROM TABLE_A WHERE NAME LIKE '%x%'; 3、'X'开头的NAMESELECT NAME FROM TABLE_A WHERE NAME LIKE 'X%';4、以'X'开头...原创 2020-03-12 14:10:36 · 168 阅读 · 0 评论 -
oracle的空值处理函数
1、NVLNVL(expr1,expr2)如果expr1为空,则显示expr2;否则显示expr12、NVL2NVL(expr1,expr2,expr3)如果expr1不为空,则显示expr2;否则显示expr33、NULLIFNULLIF(exp1,expr2)如果exp1和exp2相等则返回空(NULL),否则返回第一个值。4、COALESCECoalesce(...原创 2020-01-21 18:06:35 · 1713 阅读 · 0 评论 -
Oracle 表三种连接方式使用介绍(sql优化)
1、nested loop(嵌套循环)对于被连接的数据子集较小的情况,nested loop连接就是较好的选择。nested loop就是扫描一个表,每读到一条记录,就根据索引去另外一个表里面查找,没有索引一般就不会是nested loops。一般在nested loop中,驱动表满足条件结果集不大,被驱动表的连接字段要有索引,这样就走nested loop。如果驱动表返回记录太多,就不适合...原创 2020-01-02 14:25:11 · 758 阅读 · 1 评论 -
序列+触发器实现oracle自增列(sequence+trigger)
SELECT date_time,ROWID FROM shuzhi.t_case_holiday_base WHERE ROWID<10000 ORDER BY date_timehttps://blog.csdn.net/zoucui/article/details/79347286原创 2019-12-31 11:51:27 · 252 阅读 · 0 评论 -
oracle的date类型及其操作
1、date里面只是存储对应时间的内容,并不能指定以什么样的格式进行存储;但是可以指定存储到哪些时间段在这里插入代码片2、plsql可以指定显示形式,就是能修改select查询出来的date数据的形式这里只是对查询的数据进行展示格式的修改,并不影响存储3、trunc能对date类型的数据进行截取操作,4、to_date是对字符串格式转换成date格式,是不是都需要格式一模一样?好像也...原创 2019-12-31 10:24:13 · 2264 阅读 · 0 评论 -
12-27个人总结(创建表格,修改数据类型)--转
在指定的表空间创建表格create table t_name (xxx) tablespace tsp_name;如果要修改表的一个字段数据类型,若表里有数据了,oracle是不能修改,需清空表才行。若不想清空表的数据,则可通过以下方案:先对表数据进行备份表,再删除表数据,修改表结构,将备份表数据重插回原表中,最后删除备份表。//先对表数据进行备份表create table f10_...原创 2019-12-27 17:31:49 · 150 阅读 · 0 评论 -
oracle--触发器
触发器直接或间接调用commit都会引起报错;触发器是无需commit的,而且也不能写commit;触发器和触发它的DML是同一个事务。DML提交了,触发器也就提交了,所以无需commit;如果一定要在触发器里面写commit,那也是可以的,可以利用oracle中的自治事务来处理,自治事务相当于事务里的子事务。原因如下:1、触发器中使用了DDL语句;如drop table t_a;因为D...原创 2019-12-27 15:58:06 · 410 阅读 · 0 评论