问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle中的问题 一列数据内容是01 另一列数据为04 导出的数据是01 02 03 04

发布网友 发布时间:2022-04-10 06:42

我来回答

3个回答

懂视网 时间:2022-04-10 11:04

 as sysdba;
  • conn scott/123456@192.168.22.210:1521/orcl; 从当前用户转换成scott用户
  • show user; 显示当前用户名
  • show linesize; 显示的行宽
  • set linesize 150; 设置行宽
  • col ename for a8; col sal for 9999;设置列ename为字符长度为8个长度;设置列sal为4位数字;
  • c 命令字符替换,如: c /form/from 或者c!form!from
  • host cls;清屏幕
  • spool d:/1.sql 将命令写入到1.sql文件中。spool off终止写入文件中。
  • B:sql优化原则

    1. 查询的时候尽量使用列名;如:select ename,sal from emp; 
    2. 分组查询没有多行函数(聚合函数),如果使用过滤,考虑使用where还是having
    3. 在子查询和多表查询之间选择,尽量使用多表查询
    4. 在集合运算中,如果union 和union all都可以,考虑使用union all 。因为union需要去掉重复的。
    5. 能够不要使用集合运算就不要使用集合运算。

    注意:掌握oracle的常规命令,在学习过程中总结一些优化原则;

    02-空值和别名

    A:处理列值为null

    oracle中的列值为null做四则运算结果都为null。处理方法:nvl(null,0) 

    B:判断列值为null

    oracle中判断一个列值为null使用is null 或者is not null

    C:给一个列取一个别名可以使用as 或者省略as

         select empno as “员工编号” , ename 员工姓名 from emp;

         注意:别名需要使用“”,或者不加“”。别名中间有空格的需要“”;

    不能使用单引号;

    D:distinct 取出后面的所有列唯一值

    select distinct job,deptno from emp;这里的distinct作用于后面的所有的列。

                select distinct(job) from emp;可以将加()

    E:|| 和concat() 将字符连接起来

    select concat(‘hello’,’world’) from dual;使用concat()后面需要加表。mysql并严格遵循sql1990标准;

                select ‘hello’ || ‘world’ from dual;

             注意:字符串使用单引号‘’,不能使用双引号“”,使用双引号的是别名。

    dual是伪表;

    03-SQL和iSQLPLUS

    A:sql、sqlplus、isqlplus区别

    1. sql:insert update delete等常见的sql语句,关键词没有缩写。命令可以控制表中定义和数据;
    2. sqlplus:desc/ed/c/col/for等命令都是sqlplus命令,关键词有缩写,命令不能改变数据库中的数据;访问sqlplus服务端口是1158;
    3. isqlplus:是sqlplus是网页版本的sqlplus。可以执行脚本,也可以运行脚本;访问isqlplus服务需要访问5560端口;

    04-过滤where

    A:where 后面比较运算符(>,<,!=,>=,<=,between and ,in,like,not like,is null,is not null)

    1. 后面=可以接数据或者字符串,其中日期格式需要注意

        如果select * from emp where hiredate=’81-09-08’ 执行会出现错误;

     因为该日期字符串格式与oracle当前格式不一致,oralce无法处理成日期类型。但是可以修改日期格式;alter session|system set NLS_DATE_FORMATE=’yy-mm-dd’.select * from v$nls_parameters; 可以查看到系统的所有变量;

    1. between and (包括边界,小值在前,大值在后)
    2. in后面集合中可以加null,not in()集合中不能有null
    3. 注意:where 后面用于过滤或者连接其他表的条件,重点掌握常用>,<,!=,>=,<=,between and ,in,like,not like,is null,is not null操作;

    05-逻辑运算符和排序

    A:where 后面使用逻辑运算符(and ,or ,not)

    注意:condition1 and condition2 和condition2 and condition1的区别;解析的顺序是从右边到左边;explain plan for select * from emp where condition1 and condition2;

    B:查询排序(order by)

    order by 列名/表达式/别名/序列. 且order by 后面可以接多个列

    如果列中有值为null,则desc排序会出现null值行在前null最大,为了解决该问题:

    select * from emp order by comm desc nulls last;

    注意:order by 多个列参与排序的特殊性。

     06-函数简介

    A:单行函数和多行函数

     注意:操作返回一行数据的函数叫单行函数,操作返回的多行数据的函数叫多行函数;

    07-字符函数和数值函数

    A:字符函数

    1. 大小写控制

    B:数值函数

    1. round():四舍五入
    1. truncate():截断

    注意:重点掌握length(),substr(),instr(),round().

    08-日期函数

    A:日期函数

    Oracle中提供了很多和日期相关的函数,包括日期的加减,在日期加减时有一些规律

    日期 – 数字 = 日期

    日期 + 数字 = 日期

    日期 – 日期 = 数字

    09-转换函数

    A:oracle中隐式转换(查百度)

    B:to_char():日期转换成字符串,数字转换成字符

    C:to_number():字符串转换成数字

    D:to_date():字符串转换成日期

    注意:掌握to_char(),to_number(),to_date() ,3个转换函数;

    10-通用函数和条件表达式

    A:通用函数

    1. nvl(expr1,expr2) 如果repr1是null则把expr1处理成expr2
    2. nvl2(expr1,expr2,expr3),如果repr1不为null,则值为expr2,为null则返回expr3
    3. nullif(expr1,expr2),如果repr1=repr2,则返回null,否则返回expr1
    4. coalesce(expr1,expr2….), 依次参考各参数表达式,遇到非null值即停止并返回该值。
      如果所有的表达式都是空值,最终将返回一个空值B:条件表达式
      1. case  xx when xx then xx  when xxx  then xx else xx end;
      2. decode()

    注意:nvl(),nvlif()和2个条件语句必须掌握。

    11-多行函数

    A:分组函数(avg(),max(),min(),count(),sum())

    B:分组

           group by  having  order by

    注意:多行函数在sql中的使用;

    oracle01

    标签:一个   多行   编号   expr   数字   ast   定义   字符函数   xpl   

    热心网友 时间:2022-04-10 08:12

    with t as (select to_date('2014-09-15','yyyy-mm-dd') a from al)
    select a,add_months(a,-1) b,a-1 c from t;
    A        B      C

    2014-9-15 2014-8-15 2014-9-14

    需要更新的话
    update table_name set a=to_date('20140815','yyyy-mm-dd') where a=to_date('20140915','yyyy-mm-dd')追问我想知道的是。比如有一列数据内容是01 还有一列数据为04
    我想要导出的数据是01 02 03 04

    热心网友 时间:2022-04-10 09:30

    这种必须转成数据格式才能运算,可以参考下,格式你可以再自己调整
    select wm_concat(RN)
    from (
    select t.rn
    from (select rownum as rn,object_id from all_objects) t
    inner join (select col1,col2 from your_table_name) p
    on t.rn between to_number(Col1) and to_number(Col2)
    ) t1追问你看一下这边遍怎么写,按我这个列号的话,谢谢大佬

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    工科考研50分数学能过国家线吗 数一工科国家线一般多少分 笔记本电脑无线连接epson爱普生打印机wifi怎么连接 爱普生如何无线连接 身份证注销了银行卡还可以用吗 8424西瓜是哪里产的? 一个人开两个支付宝是同一个二维码吗 买个衣服很生气,投诉无门, 拉夏贝尔衣服可以退吗 断桥铝门窗有多少种 前不久买了Razer雷蛇蓝牙无线鼠标(Pro Click Mobile),出现了一点问题~ 股票怎么补仓能拉低成本 股票该怎么补仓?要注意什么问题? 在股票市场中,进行补仓有哪些技巧? 黑龙江2015公务员考试准考证打印入口? 健康素养的内涵可以从什么层面来理解 1.世界卫生组织对于身体健康的三个层面的定义 2 黑龙江公务员考试历年分数线查看入口? 有什么养花秘诀? 健康理念是什么? 2012年黑龙江公务员考试公告报名入口职位表下载? 健康的四个维度是什么 你认为的健康是什么? 2016年黑龙江公务员准考证打印入口? 2015年黑龙江公务员招考公告查看入口? 黑龙江省各地方的公*都是什么时间报名,在什么地方可以查询到? 真正的健康包括四个维度 黑龙江省公务员报名入口怎么进不去 衡量健康的四个层面的内容是 2015黑龙江省公务员招考报名时间及报名网址 解除劳动合同证明书得多久 离职证明什么时候开 辞职后多久能开解除劳动合同证明 离职多长时间办理解除劳动合同证明 提出离职后,公司应该什么时候给我离职证明? 解除劳动合同证明应在最后一个工作日才能开吗 开离职证明有时间限制吗?我离职超过半年了,原公司不给开离职证明了 开具一个离职证明需要多长时间 开解除劳动合同关系证明的时限是多久 解除劳动合同证明是必开还是依申请才开 办理解除劳动合同证明后多长时间可以拿到档案? 韩国坐公交车多少钱啊?韩国硬币的面值? 公司离职多长时间还可以要求公司开离职证明 450字一字不少读后感,废话走开 本人急需450字伊索寓言读后感 O(∩_∩)O谢谢 伊索寓言读后感400字怎么写 《伊索寓言》读后感500字 开年费大会员会激活一年超会和豪华黄钻吗? 开大会员自动激活svip和豪华黄钻 我现在有会员和黄钻了,再开是不是开多久大会员送多久黄钻和会员? 我的QQ号有了会员和豪华黄钻,如果在开大会员,钱会少点吗?