SQL语句学习
文章平均质量分 57
格子间里的鼻涕虫
想有所得,梦有所成。
展开
-
ORA-12170:连接超时
之前重装电脑之后,装了64位的Oracle客户端和64位的PL\SQL Developer。但是,安装之后一直无法登录到数据库,一直提示: ORA-12170:连接超时。客户端重装了几次都不行,百度之后发现给出的方法基本都是通过CMD查看网络情况,或者检查防火墙情况。按照网上提供的方法进行网络问题排查,发现网络畅通。但是,依然无法成功登录。最后,突然发现我把生产环境的TNSNAMES.ora和开发环境的TNSNAMES.ora搞混了。开发电脑可以正常连接开发环境的数据库,但是无法连接生产..原创 2021-01-29 10:38:34 · 2850 阅读 · 3 评论 -
ORA-00923: 未找到要求的 FROM 关键字 报错分析
今天做数据库操作的时候,发现了一个报错:ORA:00923:未找到要求的FROM关键字。这个错误之前也报过,但是我已经忘了当时是怎么改好的,鉴于以往的错误总是会重复出现,而且我每次都要花费一定的精力去解决同样的问题,每次都是记得这个报错,却一直都不记得错误的原因和解决方法,所以决定尽可能地记录下来平时工作中遇到的错误以及解决方案,给自己加深印象。这一次的SQL代码报错,由于要查询的字段一共有1...原创 2019-04-02 11:41:53 · 14075 阅读 · 0 评论 -
oracle中的date用法
这两天用sqlldr写了个入库程序,写完就直接跑了,结果一直提示成功了,查询入库表却没有数据。翻看日志,发现报错:ora 604,ora01861:literal does not match formatstring,插入的字符串和数据格式不符。于是随便找了一条数据,在PL/SQL中手动插入数据insert into tmp ( col1,col2,......coln) values(1,2...原创 2019-04-01 19:09:24 · 1842 阅读 · 0 评论 -
ora00936 缺失表达式 missing expression
本来是在PHP代码里面执行的SQL语句,结果调试的时候报错:ORA 00936: missing expression,百度了这个问题,没有找到答案,于是自己加了输出调试,发现SQL语句执行的时候报错,将SQL语句放到PL developer 里面执行,依旧报错00936,但是在from前面出现了红色波纹,仔细查看from所在行及以上行代码,发现select的最后一个字段后面多了个逗号,所以一直报...原创 2019-03-27 15:05:55 · 12282 阅读 · 0 评论 -
取客户购买东西里面金额最贵的物品的名称
1.利用first_value(。。。。) over (partition by 。。。。。。。。。)根据客户分组购买金额排序,取出第一行的物品名称select custno,first_value(object) over(partition by custno order by amt desc)from buyThings经测试,此法可行,但是会出现重复数据。比如:...原创 2019-01-28 19:58:37 · 315 阅读 · 0 评论 -
Distinct + rownum 用法
当查询数据表中多个字段结果出现存在重复行的时候,想要查询不同的数据行:原表:id nm dt001 张三 20190101001 张三 20190201003 张四 20190202003 张四 201902031.使用distinct的同时使用rownum查询select distinct rownum,id from table_a查询结果会有重复行,row...原创 2019-03-27 15:31:08 · 1425 阅读 · 0 评论 -
提取近一年内每个月交易量均超过100笔的商家
提取近一年内每个月交易量均超过100笔的商家:SELECT TRN_MON,STORE_NAME,TRN_CNT FROM(SELECT SUBSTR(TRN_DATE,0,6) TRN_MON, ----交易月份STORE_NAME, ...原创 2018-08-07 19:10:34 · 562 阅读 · 0 评论 -
oracle模糊查询中的like和regexp_like简单用法
模糊查询中like是我平时使用最多的,所以这里简单记录一下我常常用到的用法:like常用用法:1.%代表任意数量的某一或某些字符。select * from tmp_table t where t.name like '%Bob' (查询tmp_table表中name列最后三位是BOb的记录,eg:BBob) select * from tmp_table t where t....原创 2018-07-18 20:32:28 · 8981 阅读 · 1 评论 -
修改数据库表的某一字段长度
//创建一张临时表CREATE TABLE TMP_TABLE(CUSNO CHAR(10))//修改TMP_TABLE表中CUSNO字段的长度ALTER TABLE TMP_TABLE MODIFY CUSNO CHAR(20)原创 2018-07-03 20:25:52 · 15689 阅读 · 0 评论 -
Oracle查询数据库中近三个月每个月某样商品的购买量
1.利用partition by 。。。。 order by 。。。。 range between 。。preceding and 。。following,这种写法效率比较低,执行时间较长,理论上可行,但是感觉结果不太对,具体对不对,没有求证过。WITH T AS (SELECT OBJECTNO, IMP_DTE, IMP_AMT, (TO_DATE(IMP_DTE,'YYYYM...原创 2018-06-14 19:18:14 · 5772 阅读 · 0 评论