之前在网上查了下按照指定顺序进行排序的方法,根据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按照指定顺序进行排序相关推荐

  1. oracle 触发器登录,【学习笔记】Oracle触发器 实现指定用户登录oracle案例

    天萃荷净 触发器实现指定用户登录oracle,分享一篇关于Oracle数据库安全策略,通过Oracle触发器实现限定user用户登录Oracle数据库的方法 1.创建允许登录用户表 CREATE TA ...

  2. Oracle 报 “ORA-00054 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效” 问题的解决方法

    在执行数据库DDL操作 时,有事会出现"Oracle 报 "ORA-00054 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效" 的问题. 1 原因 一 ...

  3. 学用ORACLE AWR和ASH特性(4)-生成指定SQL的统计报表

    2.3  生成指定SQL语句的统计报表 这项统计专门用来分析某条指定的SQL语句,通过awrsqrpt.sql脚本,awr能够生成指定sql(曾经执行过的SQL)的执行计划,消耗的资源等等信息,有助于 ...

  4. oracle创建新指定表空间,oracle创建用户并指定表空间

    /*第1步:创建ODPS数据表空间 */ create tablespace ODPS logging datafile '/home/oracle/tablespace_dir/ODPS.dbf' ...

  5. 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: 无法解析 ...

  6. Oracle数据库新建默认表空间并指定用户

    Oracle数据库新建默认表空间并指定用户 1,创建一个空的文件夹(用于存储生成的表空间) 2,打开SQL PLUS 使用system用户登录,并输入相关命令 命令解析: 创建表空间: create ...

  7. oracle数据库读取工具,用Oracle导入导出工具实现Oracle数据库移植

    用Oracle导入导出工具实现Oracle数据库移植.很不错的方法,建议使用![@more@] 用Oracle导入导出工具实现Oracle数据库移植 Oracle数据库作为目前市场的主流数据库之一,许 ...

  8. oracle怎么截取long类型,Oracle 数据库中 Long 类型字段的读取

    最近在一个项目中遇到了需要读取 Oracle 数据库中的 Long 类型的字段的问题,折腾了好久,最后找到了其中的一个解决办法,决定记下了做个明灯吧! 在用 Mybatis 将该字段的数据映射到 St ...

  9. python读取oracle数据库中文乱码_PL/SQL连接Oracle数据库,中文乱码,显示问号

    PL/SQL连接oracle数据库 1.简单介绍 在不安装oracle数据库的情况下使用pl/sql连接远程oracle数据库. 2.详细步骤: a)      安装PL/SQL.依据自己的操作系统安 ...

最新文章

  1. html 相对于父标签位置,css子元素如何相对父元素定位?
  2. “人脸识别”是一柄双刃剑 如何趋利避害?
  3. IC/FPGA校招笔试题分析(三)
  4. May 18:PHP 用到的学习工具
  5. linux 终端控制-- 多彩输出 格式排版
  6. Spring MVC 入门--Hello World
  7. Why settype table is used in Genil component implementation
  8. matlab做比例积分微分控制,收放卷卷径计算+闭环摆杆控制参数自适应PID控制算法(变比例变积分变微分)介绍...
  9. php返回200,关于API 使用 HTTP 状态码还是全部返回 200
  10. Ansible playbook
  11. android4.3 Bluetooth分析之扫描分析
  12. WeChatExtension for Mac(mac微信小助手)支持big surv2.7.0中文修复版
  13. 如何通过Google学术快速获取参考文献引用格式-2021年
  14. sql语句练习50题(Mysql版)
  15. android 调用系统图片编辑,android 调用系统 裁剪 图片
  16. 博途1200/1500PLC斜坡指令RAMP(带暂停功能)
  17. 【3D游戏建模全流程教学】在Maya中制作小岛模型
  18. mac下后端开发常用软件
  19. js中的数据驱动(基础)
  20. 深入理解java虚拟机(五)GC垃圾回收-经典垃圾收集器

热门文章

  1. java构造方法和实例化,10. JavaSE-子类实例化过程 构造方法间调用
  2. RT-Thread在github上的教程中图片显示不出来问题的解决方法
  3. atom配置python环境_python与excel有段情之二:python的安装和环境配置
  4. ubuntu下IP、DNS配置
  5. python读取图像数据流_浅谈TensorFlow中读取图像数据的三种方式
  6. 新浪云python示例_Python Web框架Flask中使用新浪SAE云存储实例
  7. discuz viewthread.php,修改discuz论坛的标题header和footer
  8. python linux运维教程 推荐_Linux运维人员成长之路学习书籍推荐
  9. hive sql 怎么实现循环_Hive存储过程实现-hpsql
  10. python压缩算法_LZ77压缩算法编码原理详解(结合图片和简单代码)