1、获取时间

获取星期

select to_char(sysdate,'day') dayth from dual

获取上月 月份

select to_char(ADD_MONTHS(trunc(sysdate), -1),'yyyymm') from dual

获取上月1号

select trunc(add_months(sysdate,-1),'mm') first_day from dual;

2、Oracle行转列

listagg(string1,'|') within group (order by string) start_time;

3、字符串替换
replace('he love you','he','i') 替换结果i love you
4、字符串截取
substr('13088888888',3,8)从第3位开始,截取8位,截取子字符串08888888
5、时间与字符串转换
to_char(时间,‘yyyy/mm/dd hh24’)显示到小时

to_date(时间,'时间格式')

6、处理字段为空的问题
在实际应用中,涉及到字段的计算。一个字段为null时,与其他字段的加减乘除结果都为null
nvl (expr1, expr2) 若expr1为null,就返回expr2,若expr1不能为null就返回expr1
nvl(字段,0) 若字段为空,返回0.
select coalesce(comm,0) from emp.将comm列中为null的值替换成0

select case when comm is not null then comm else 0 end
from emp  将comm列中为null的值替换成0

7、decode函数
decode(条件,判断值,显示值判断,值,显示值,…值n,翻译值n,缺省值)

 DECODE(s_city,'平凉','平凉市','张掖','张掖市','白银','白银市','陇南','陇南市','金昌','金昌市','天水','天水市','临夏','临夏回族自治州','酒泉','酒泉市','武威','武威市','嘉峪关','嘉峪关市','庆阳','庆阳市','定西','定西市','兰州','兰州市','甘南','甘南藏族自治州')  as city_name,平凉显示为平凉市。。。

8、 在where子句中引用列别名

select * from
{select sal as salary,comm as commisstion from emp
} x
where salary<5000

将含有列别名的查询放入内嵌视图,就可以在外层查询中引用列别名。因为where子句会比select子句先执行,from比where先执行。
9、 串联多列的值
Oracle、DB2、PostgreSQL连接值时用"||",如:

select ename || ‘work as a ’ || job from emp where deptno=10
 MySQL连接时使用concat 函数,如:
select concat(ename,‘work as a ’,job) from emp where deptno=10
SQL Server 使用“+”作为串联连接符,如:
select ename+‘work as a ’+ job from emp where deptno=10

10、 限定返回行数
限定返回行数,但不关心排序,任意N行都行
DB2:使用fetch first

select * from emp fetch first 5 rows only

MySQL、hive、PostgreSQL:利用limit

select * from emp limit 5

Oracle:使用rownum

select * from emp where rownum>=5

SQL Server:使用top

select top 5 from emp

注意:Oracle 会针对查询到结果返回一个行号,从1开始。所以
rownum=5 会查询失败,因为第一行是1。
11、 查找null值

用is null或is not null

12、排序
order by sal asc 按sal顺序
order by sal desc 按sal倒序
order by 1 按第一列顺序

13、行合并
要求列数相同,及列的数据类型 必须相同

select ename,deptno from emp
union all
select ename,deptno from dept ;

注意:使用union也可以叠加两个结果集,但是union会排重,内部会进行一次distinct 排重操作,降低效率。union all 会返回所有结果集,效率较高,一般使用union all

14、 复制
复制数据:

insert into table_name1(c1,c2) select c1,c2 from table2;insert into pm.f_l_c_eutrancelltdd_d  select * from  pm.f_l_c_eutrancelltdd_d@wxwy where start_time>=trunc(sysdate-1);

复制表结构:
DB2: create table table2 like table1
Oracle、MySQL、PostgreSQL:create table table2 as select * from table1 where 1=0
SQL Server:select * into table2 from table1 where 1=0
15、Oracle修改字段类型

alter table INTERFACE.DMP_GRID_PROBLEM_CELL  modify(ALARM_TIME varchar2(256));

修改INTERFACE用户下的表DMP_GRID_PROBLEM_CELL 的字段ALARM_TIME 为varchar2(256)

16、oracle增加字段

ALTER TABLE PM.F_5_C_N_NRCELLCU_Q ADD RRC_NsaUeMean  NUMBER;

给表PM.F_5_C_N_NRCELLCU_Q 添加一个number类型的字段RRC_NsaUeMean

COMMENT ON COLUMN PM.F_5_C_N_NRCELLCU_Q.RRC_NsaUeMean IS 'NSA 双链接平均用户数';

RRC_NsaUeMean 的备注信息为NSA 双链接平均用户数

17、查看所有被锁的表

select b.owner TABLEOWNER, b.object_name TABLENAME, c.OSUSER LOCKBY,
c.USERNAME LOGINID, c.sid SID, c.SERIAL# SERIAL
from v$locked_object a,dba_objects b, v$session c
where b.object_id = a.object_id AND a.SESSION_ID =c.sid;

18、解锁表

alter system kill session 'SID, SERIAL';

19、查看表空间的使用情况

SELECT a.tablespace_name,
a.bytes total,
b.bytes used,
c.bytes free,
(b.bytes * 100) / a.bytes "% USED ",
(c.bytes * 100) / a.bytes "% FREE "
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
WHERE a.tablespace_name = b.tablespace_name
AND a.tablespace_name = c.tablespace_name;

20、查看表空间路径

select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files where tablespace_name='SYSAUX'
order by file_name;

查看表空间SYSAUX的路径

21、添加数据文件

alter tablespace SYSAUX add datafile '+DATA01/wyzx/datafile/sysaux_20210430' size 10 G;

给表空间SYSAUX添加10G的数据文件

22、根据列名查找表名

 select column_name,table_name from user_tab_columns where column_name in('');

注意:只能查出当前用户下的表。

23、删掉重复项
找出主键为nrcelldu_uk,start_time都重复的数据,只留下一条数据

delete from pm.F_5_C_S_NRCELLDU_PRB_Q a
where (a.nrcelldu_uk,a.start_time) in
(select nrcelldu_uk,start_time from pm.F_5_C_S_NRCELLDU_PRB_Q
group by nrcelldu_uk,start_time having count(*) > 1)
and rowid not in (select max(rowid)
from pm.F_5_C_S_NRCELLDU_PRB_Q group by nrcelldu_uk,start_time having count(*)>1
);
commit;

注意:操作表后顺手提交是好习惯,否则容易锁表

24、表分区操作
–删除表分区

alter table pm.f_l_c_eutrancelltdd_h drop partition  P_1D_20200620;

–增加表分区

alter table pm.f_g_c_cell_day_BAK add partition  P_1D_20200601   VALUES LESS THAN ( to_date('   2020-06-02  ','yyyy-mm-dd')) tablespace GSM_PM;

–查看表分区

SELECT * FROM useR_TAB_PARTITIONS WHERE TABLE_NAME='T_RES_CLUSTER_RRU_HISTORY' order by partition_name desc;

25、查看归档日志

SELECT A.NAME, A.TOTAL_MB / 1024, A.FREE_MB / 1024 FROM V$ASM_DISKGROUP A

实际开发中常用的SQL相关推荐

  1. java开发中常用的SQL语句

    在实际开发过程中常用的sql语句, 以user_table为例. 1)创建语句如下: CREATE TABLE USER_TABLE (USER_ID VARCHAR2(8), USER_NAME V ...

  2. java开发常用jar包_Java开发中常用jar包整理及使用

    本文整理了我自己在Java开发中常用的jar包以及常用的API记录. 一.common-lang3 简介:一个现在最为常用的jar包,封装了许多常用的工具包 依赖: org.apache.common ...

  3. php页面开发,PHP网站开发中常用的8个小技巧

    这篇文章主要介绍了PHP网站开发中常用的8个小技巧,本文讲解了命名.使用.PHP判断Form表单是否提交.PHP 获取字符串长度.PHP超全局对象等内容,需要的朋友可以参考下 PHP是一种用于创建动态 ...

  4. NC65在日常开发中常用的代码写法

    标题 NC65开发相关代码 版本 1.0.1 作者 walton 说明 收集NC在日常开发中常用的代码写法,示例展示 1.查询 1.1 通过BaseDAO查询结果集并转换 //通过BaseDAO进行查 ...

  5. 在手机开发中常用的数据库是什么?

    在手机开发中常用的数据库是 (A) A:SQLiteB:OracleC:Sql ServerD:Db23 SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的 ...

  6. 项目开发中常用JS表单取值方法

    项目开发中常用JS表单取值方法 一.常用表单基本取值方法(form1为表单名称,TextBox1为控件ID,以文本框为例,html控件与web服务器控件是一样的)         1.form1.Te ...

  7. python web开发第三方库_Python Web开发中常用的第三方库

    Python Web开发中常用的第三方库 TL;DR 经常有朋友问,如果用Python来做Web开发,该选用什么框架?用 Pyramid 开发Web该选用怎样的组合等问题?在这里我将介绍一些Pytho ...

  8. php gridview,PHP编程:yii2-GridView在开发中常用的功能及技巧总结

    <PHP编程:yii2-GridView在开发中常用的功能及技巧总结>要点: 本文介绍了PHP编程:yii2-GridView在开发中常用的功能及技巧总结,希望对您有用.如果有疑问,可以联 ...

  9. php开发中常用函数总结,PHP开发中常用函数总结

    PHP开发中常用函数总结 发布于 2014-10-31 08:34:03 | 48 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext Preproc ...

最新文章

  1. 量子信息技术研究现状与未来——郭光灿
  2. Mac OS X 10.8.X编译Android4.2.X源码不生成emulator的问题
  3. 如何用 C++ 在 10 行内写出八皇后?
  4. java运行环境(JRE)
  5. 【机器视觉】 case算子
  6. 初一辍学学php能行吗_《夺冠》破7亿,辍学的农村姑娘成排球女王,朱婷:百炼才能成钢...
  7. mysql limit offset很大_MySQL查询中LIMIT的大offset导致性能低下浅析
  8. 【Flink】Flink 1.12 AbstractRichFunction 源码
  9. php的完整代码块,超级实用的9个PHP代码片段
  10. 对Ajax返回的json数据做处理报错
  11. 十大电子元器件及其相关基础知识
  12. 2021-2027全球与中国游戏开发工具市场现状及未来发展趋势
  13. 试用钉钉内网映射工具
  14. 客户端程序员的工具们
  15. 【业务架构】价值链分析:提高客户价值和盈利能力
  16. android 修改已建工程的api版本,更改API级Android Studio
  17. vscode 代码片段如何输出$符号
  18. C# 小数位修约(保留小数位有效数位)
  19. 机器学习分支之一:强化学习
  20. 《社交困境》:算法抓住了人类的弱点……

热门文章

  1. 【英语语法-谓语时态】
  2. 2020年营收仅62.5万,九城凭什么砸1亿美金购买矿机?
  3. Apache APISIX 社区成员助力 openEuler 发布第一个社区创新版
  4. 主元分析matlab,主元分析不同方法计算结果不一样
  5. 解决“Error: Too many re-renders. React limits the number of renders to prevent an infinite loop.”
  6. (Scikit-Learn)线性回归 基函数的含义详解
  7. aruco字典如DICT_4X4_50含义
  8. 配置有误:由于权限不足而无法读取配置文件
  9. windows10上安装mysql(详细步骤)
  10. 2023服装零售erp有哪些,5款主流服装零售erp软件真实测评!