Oracle基础语法

1、把vachar转换为number类型,去除掉非法字符:

TO_NUMBER(REGEXP_REPLACE(字段名,'[^0-9]',''))

2.获取当前年份:

to_char(sysdate,'yyyy')

3.截取年份月份:

to_char(时间字段,'yyyy-mm-dd hh:mm:ss')

4.如果字段的值为空返回0,不是空返回字段的值

CASE WHEN t2.Score IS NULL THEN 0 ELSE t2.Score END

5.取四舍五入并保留四位

select round(column_name, 4) from table_name;

6.保留四位小数,只舍:

select trunc(column_name, 4) from dual;

7.substr函数的用法,取得字符串中指定起始位置和长度的字符串 ,默认是从起始位置到结束的子串:

 substr( string, start_position, [ length ] )       //substr('目标字符串',开始位置,长度)

8.截取字符串

substr(字符串,-10

9.时间转换:

select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from dual  
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;

10.去重

select count(distinct ear_tag) from nc_basic_information

11.正则分割:

   SELECT REGEXP_SUBSTR('ABCD+北京市朝阳区富贵小区3号楼1单元101+100000+平邮', '[^+]+', 1, 1),
       	REGEXP_SUBSTR('ABCD+北京市朝阳区富贵小区3号楼1单元101+100000+平邮', '[^+]+', 1, 2),
       REGEXP_SUBSTR('ABCD+北京市朝阳区富贵小区3号楼1单元101+100000+平邮', '[^+]+', 1, 3),
       REGEXP_SUBSTR('ABCD+北京市朝阳区富贵小区3号楼1单元101+100000+平邮', '[^+]+', 1, 4)
FROM   DUAL

12.拼接

SELECT CONCAT('工号:','aaa') FROM dual;

13.根据一个字段相同拼接另一个字段为一条数据

SELECT BUDGETPROJECTID, LISTAGG(DistributionName, ',') 
WITHIN GROUP (ORDER BY BUDGETPROJECTID) AS DistributionName
FROM T_BudgetProject_Reduce
GROUP BY BUDGETPROJECTID

14.plsql执行sql文件
1、File > New > Command Windows(左上角文件>新建>命令窗口)
2、第三步输入 @ 符号,之后敲击回车键。从本地选择执行的SQL脚本。
3、要想批量执行sql脚本,可以新建一个文本,使用@拼接本地路径。如下图:all.sql
在这里插入图片描述

15、删除表空间

--删除表空间
drop user BDC_JOB cascade;
DROP TABLESPACE BDC_JOB INCLUDING CONTENTS AND DATAFILES;

一、在还原Oracle某个用户的数据之前应把该用户及其已有的数据删掉,然后新建同名的用户并指定对应的表空间、临时空间等,并授权。但在删除该用户时提示“无法删除当前已连接的用户”,该问题的解决方案如下:
--1、先将待删除用户锁定
alter user XDBH account lock;
--2、查询该用户已连接的回话
select username,sid,serial# from v$session where username='XDBH';  
--查询结果:
--USERNAME SID SERIAL#
--XDBH	927	25285
--XDBH	1974	31863
--XDBH	2405	18931
--3、然后基于语句alter system kill session 'xx,xxx'来关闭对应的回话,xx,xxx分别代表查询出来的sid和serial#
alter system kill session '927,25285'

16、ORA-01144: 文件大小 (13107200 块) 超出 4194303 块的最大数

--创建bdc_job表空间
CREATE TABLESPACE BDC_JOB
  LOGGING
  DATAFILE 'E:\OracleData\BDC_JOB.DBF' SIZE 512M
  AUTOEXTEND
  ON NEXT 256M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
  SEGMENT SPACE MANAGEMENT AUTO;

--创建bdc_job用户  
CREATE USER BDC_JOB PROFILE "DEFAULT"
     IDENTIFIED BY "sa123" DEFAULT TABLESPACE "BDC_JOB"
     TEMPORARY TABLESPACE "TEMP"
     ACCOUNT UNLOCK;

--增大内存
  alter tablespace BDC_JOB add datafile 'E:\OracleData\BDC_JOB01.DBF' size 30g; 
  alter tablespace BDC_JOB add datafile 'E:\OracleData\BDC_JOB02.DBF' size 30g; 
  alter tablespace BDC_JOB add datafile 'E:\OracleData\BDC_JOB03.DBF' size 30g; 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]提供了一些SQL语句的优化技巧,包括避免使用*、减少数据库的访问次数、删除重复记录、多使用commit、使用where替换having、多使用内部函数提高sql语句效率、多使用表的别名、使用exists替换in、使用not exists替换not in、尽量使用索引类进行查询、避免在索引列上进行计算、避免在索引类上使用not、可以使用>=替换>、使用in替换or、尽量使用where替换group by、避免使用消耗资源的操作如union等。引用\[2\]提供了Oracle中常见的数据类型,包括varchar2、char和varchar。引用\[3\]提供了一个带两个变量的语句的示例。 综合以上引用内容,Oracle语法大全包括SQL语句的优化技巧和常见的数据类型。在编写SQL语句时,可以根据引用\[1\]中的优化技巧来提高查询效率,避免不必要的资源消耗。同时,需要了解Oracle中常见的数据类型,如varchar2、char和varchar,以便正确定义和使用表的字段。此外,还可以参考引用\[3\]中的示例来学习如何使用变量进行查询。 #### 引用[.reference_title] - *1* *2* [ORACLE基础常见语法汇总](https://blog.csdn.net/weixin_44628049/article/details/94844513)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Oracle 50个常用语法](https://blog.csdn.net/qq_34156628/article/details/90741743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值