Oracle
姚鑫国
永不停歇就是我的人生标签!
展开
-
Oracle把所有表名和表字段小写转大写
把表面小写转大写 begin for c in (select table_name tn from user_tables where table_name <> upper(table_name)) loop begin execute immediate 'alter table "'||c.tn||'" rename to '||c.tn; exception when others then .原创 2020-12-01 14:05:27 · 504 阅读 · 0 评论 -
Oracle关于sql的优化
尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替。 原因:Oracle在执行IN子查询时,首先执行子查询,将查询结果放入临时表再执行主查询。 而EXIST则是首先检查主查询,然后运行子查询直到找到第一个匹配项。 NOT EXISTS 比 NOT IN 效率稍高。但具体在选择IN或EXIST操作时, 要根据主子表数据量大小来具体考虑。 SELECT * FROM SP_MATTERS WHERE UUID IN (SELECT UUID FROM SP_M.原创 2020-11-24 17:59:44 · 94 阅读 · 0 评论 -
Oracle常用时间函数
时间函数 设置时间格式 ALTER SESSION SET NLS_DATE_FORMAT = ‘dd-mon-yyyy HH:mi:ss’ 获取系统时间1 select sysdate from dual; 获取系统时间2 select current_date from dual; 将日期转为字符串 select to_char(sysdate, 'yyyy-mm-dd HH24:mi:ss')from dual; 将字符串转为日期格式 select to_date('2017-09-2原创 2020-11-24 17:40:24 · 309 阅读 · 0 评论 -
Oracle字符串操作常用命令
Oracle字符串常用命令 (1) length(); 获取字符长度 SELECT LENGTH('测试') FROM DUAL lengthb(); 获取字节长度 SELECT LENGTHB('测试') FROM DUAL (3) ltrim(); 除去左边出现的字符串 SELECT ltrim(' 测试 ') FROM DUAL; SELECT LENGTH(ltrim(' 测试 ')) FROM DUAL; (4) rtrim(); 除去右边出现的字符串 SELECT ltrim(' 测试原创 2020-11-24 17:32:27 · 322 阅读 · 0 评论 -
Oracle 通过系统时间获取当前学年和前五年的学年学期
通过系统时间获取当前学年 SELECT TO_CHAR( CASE WHEN B >= 9 THEN A ELSE A - 1 END ) nf FROM ( SELECT TO_NUMBER( SUBSTR( TO_CHAR( SYSDATE, 'yyyy-mm-dd hh24:mi:ss' ), 0, 4 ), 9999 ) A, TO_NUMBER( SUBSTR( TO_CHAR( SYSDATE, 'yyyy-mm-dd hh24:mi:ss' ), 6, 2 ), 99原创 2020-11-18 10:58:47 · 923 阅读 · 0 评论