oracle按照指定顺序读取,oracle按照指定顺序进行排序
之前在网上查了下按照指定顺序进行排序的方法,根据charindex来处理排序,但是在oracle发现不行,因为oracle没有charindex函数,然后使用instr代替了charindex,然后又在网上搜了另外一种方
实验如下:
1.新建表
CREATE TABLE BR_DICT(
ID number PRIMARY KEY NOT NULL,
D_ITEM VARCHAR2(32),
D_VALUE VARCHAR2(32),
D_TYPE VARCHAR2(32),
D_SORT number
)
2.插入数据
insert into br_dict(id, d_item,d_value,d_type,d_sort) values
(10, ‘10‘, ‘测试1‘, ‘‘, 0);
insert into br_dict(id, d_item,d_value,d_type,d_sort) values
(11, ‘11‘, ‘测试2‘, ‘‘, 1);
insert into br_dict(id, d_item,d_value,d_type,d_sort) values
(12, ‘12‘, ‘测试3‘, ‘‘, 2);
insert into br_dict(id, d_item,d_value,d_type,d_sort) values
(13, ‘13‘, ‘测试4‘, ‘‘, 3);
insert into br_dict(id, d_item,d_value,d_type,d_sort) values
(14, ‘14‘, ‘测试5‘, ‘‘, 4);
insert into br_dict(id, d_item,d_value,d_type,d_sort) values
(15, ‘15‘, ‘测试6‘, ‘‘, 5);
3.两种查询方式
a.instr函数在Oracle/PLSQL中是返回要截取的字符串在源字符串中的位置来自定义排序方式
select * from br_dict d where d.d_value like ‘%测试%‘ order by instr( ‘3,1,2,0,5,4‘,rtrim(cast(d_sort as nchar)));
b.运行decode定义某个字符的排序位置类似的实现排序方式
select * from br_dict d where d.d_value like ‘%测试%‘ order by decode(d_sort, ‘3‘, ‘01‘, ‘2‘, ‘02‘, ‘1‘, ‘03‘, ‘0‘, ‘04‘, ‘5‘, ‘05‘, ‘4‘, ‘06‘);
具体实现效率我数据量很小,没去分析和试验,有没有大神分析的
原文:http://www.cnblogs.com/zhangqueping/p/5579212.html
oracle按照指定顺序读取,oracle按照指定顺序进行排序相关推荐
- oracle 触发器登录,【学习笔记】Oracle触发器 实现指定用户登录oracle案例
天萃荷净 触发器实现指定用户登录oracle,分享一篇关于Oracle数据库安全策略,通过Oracle触发器实现限定user用户登录Oracle数据库的方法 1.创建允许登录用户表 CREATE TA ...
- Oracle 报 “ORA-00054 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效” 问题的解决方法
在执行数据库DDL操作 时,有事会出现"Oracle 报 "ORA-00054 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效" 的问题. 1 原因 一 ...
- 学用ORACLE AWR和ASH特性(4)-生成指定SQL的统计报表
2.3 生成指定SQL语句的统计报表 这项统计专门用来分析某条指定的SQL语句,通过awrsqrpt.sql脚本,awr能够生成指定sql(曾经执行过的SQL)的执行计划,消耗的资源等等信息,有助于 ...
- oracle创建新指定表空间,oracle创建用户并指定表空间
/*第1步:创建ODPS数据表空间 */ create tablespace ODPS logging datafile '/home/oracle/tablespace_dir/ODPS.dbf' ...
- exp-00056:遇到oracle错误 12154,EXP-00056 遇到 ORACLE 错误 12154 ORA-12154 TNS 无法解析指定...
EXP-00056 遇到 ORACLE 错误 12154 ORA-12154 TNS 无法解析指定 EXP-00056: 遇到 ORACLE 错误 12154 ORA-12154: TNS: 无法解析 ...
- Oracle数据库新建默认表空间并指定用户
Oracle数据库新建默认表空间并指定用户 1,创建一个空的文件夹(用于存储生成的表空间) 2,打开SQL PLUS 使用system用户登录,并输入相关命令 命令解析: 创建表空间: create ...
- oracle数据库读取工具,用Oracle导入导出工具实现Oracle数据库移植
用Oracle导入导出工具实现Oracle数据库移植.很不错的方法,建议使用![@more@] 用Oracle导入导出工具实现Oracle数据库移植 Oracle数据库作为目前市场的主流数据库之一,许 ...
- oracle怎么截取long类型,Oracle 数据库中 Long 类型字段的读取
最近在一个项目中遇到了需要读取 Oracle 数据库中的 Long 类型的字段的问题,折腾了好久,最后找到了其中的一个解决办法,决定记下了做个明灯吧! 在用 Mybatis 将该字段的数据映射到 St ...
- python读取oracle数据库中文乱码_PL/SQL连接Oracle数据库,中文乱码,显示问号
PL/SQL连接oracle数据库 1.简单介绍 在不安装oracle数据库的情况下使用pl/sql连接远程oracle数据库. 2.详细步骤: a) 安装PL/SQL.依据自己的操作系统安 ...
最新文章
- html 相对于父标签位置,css子元素如何相对父元素定位?
- “人脸识别”是一柄双刃剑 如何趋利避害?
- IC/FPGA校招笔试题分析(三)
- May 18:PHP 用到的学习工具
- linux 终端控制-- 多彩输出 格式排版
- Spring MVC 入门--Hello World
- Why settype table is used in Genil component implementation
- matlab做比例积分微分控制,收放卷卷径计算+闭环摆杆控制参数自适应PID控制算法(变比例变积分变微分)介绍...
- php返回200,关于API 使用 HTTP 状态码还是全部返回 200
- Ansible playbook
- android4.3 Bluetooth分析之扫描分析
- WeChatExtension for Mac(mac微信小助手)支持big surv2.7.0中文修复版
- 如何通过Google学术快速获取参考文献引用格式-2021年
- sql语句练习50题(Mysql版)
- android 调用系统图片编辑,android 调用系统 裁剪 图片
- 博途1200/1500PLC斜坡指令RAMP(带暂停功能)
- 【3D游戏建模全流程教学】在Maya中制作小岛模型
- mac下后端开发常用软件
- js中的数据驱动(基础)
- 深入理解java虚拟机(五)GC垃圾回收-经典垃圾收集器
热门文章
- java构造方法和实例化,10. JavaSE-子类实例化过程 构造方法间调用
- RT-Thread在github上的教程中图片显示不出来问题的解决方法
- atom配置python环境_python与excel有段情之二:python的安装和环境配置
- ubuntu下IP、DNS配置
- python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式
- 新浪云python示例_Python Web框架Flask中使用新浪SAE云存储实例
- discuz viewthread.php,修改discuz论坛的标题header和footer
- python linux运维教程 推荐_Linux运维人员成长之路学习书籍推荐
- hive sql 怎么实现循环_Hive存储过程实现-hpsql
- python压缩算法_LZ77压缩算法编码原理详解(结合图片和简单代码)