`
qepwqnp
  • 浏览: 105846 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ORACLE VARCHAR 排序问题

阅读更多

为了实现varchar型的字段序号递增,我每次插入数据要先找出数据库中序号最大的那个再加1,可是对  
varchar进行order   by   时,得不到正确结果,如   varchar里,‘100’<'99'  
怎么实现转化  
另外,我只比较varchar的后几位,那个怎么截取后几位再进行int转化再排序呢?  

回答1:
select   *   from   yourtable   order   by   cast(youcol   as   int)

回答2:
order   by   convert(int,   字段)

回答3:
但是你的列里面只能是数字组成的字符,要不然会出错

回答4:
create   table   #t(  
b   int   identity(1,1),  
a   varchar(3)  
)  
insert   into   #t   select   '003'  
insert   into   #t   select   '002'  
insert   into   #t   select   '001'  
insert   into   #t   select   '010'  
insert   into   #t   select   '023'  
--insert   into   #t   select   'a03'  
   
   
select   *   from   #t   order   by   cast(a   as   int)  
   
drop   table   #t

回答5:
declare   @maxid   numeric(8)  
   
select   @maxid=max(isnull(cast(right(字段,x)   as   numeric),0)+1)  
x表示从后面取多少位。 x表示从后面取多少位。 x表示从后面取多少位

分享到:
评论

相关推荐

    oracle使用order by排序null值如何处理

    oracle 对查询结果进行排序时,被排序的栏位存在null值,且要指定NULL值排在最前面或者最后面,本文将介绍如何处理oracle 空值排序,需要的朋友可以参考下

    sqlserver中将varchar类型转换为int型再进行排序的方法

    我们可以把varchar转换为int 然后进行排序一、 代码如下: select * from yourtable order by cast(yourcol as int); 适用于SQLServer Oracle 二、 代码如下: select * from yourtable order by convert(int,yourcol)...

    oracle使用dblink高速复制表数据的动态存储过程

    程序同步到执行结束时的目标表所有数据,不按任何字段排序,只判断并记录row_number()到日志表,中断后重新执行可继续同步,如果目标表频繁读写,不保证数据完全正常,故最好是目标表不变动情况下执行同步。...

    MySQL中把varchar类型转为date类型方法详解

    先使用str_to_date函数,将其varchar类型转为日期类型,然后从小到大排序 语法:select str_to_date(class_time,’%Y%m%d %H:%i:%s’) a from a order by a desc ; 下面接着看下oracle中varchar类型的日期格式转换...

    ORACLE中的数据类型.doc

    ORACLE中的数据类型.doc ...对Char型数据,尾部的空格将被忽略掉,对于Varchar2型数据尾部带空格的数据排序比没有空格的要大些。比如: Char 型数据: ‘YO’=‘YO ’ Varchar2型数据: ‘YO’&lt;’YO ’

    oracle实验报告

    (3) 学会使用高级SQL命令,排序、分组、自连接查询等。 (4) 学会使用SQL*PLUS命令显示报表,存储到文件等。 【实验内容】 一、 准备使用SQL*PLUS 1. 进入SQL*PLUS 2. 退出SQL*PLUS 3. 显示表结构命令DESCRIBE SQL&gt;...

    Oracle Database 11g初学者指南--详细书签版

    4.5 数据排序 90 4.6 函数:字符串函数、数字函数和聚集函数(不是分组) 91 4.6.1 字符串函数 91 4.6.2 数字函数 92 4.6.3 聚集函数 92 4.7 日期函数(格式化的和按时间排列的) 93 4.7.1 日期函数 93 4.7.2 ...

    oracle 重置序列从指定数字开始的方法详解

    重置oracle序列从指定数字开始 代码如下: declare n number(10); v_startnum number(10):=10000001;–从多少开始 v_step number(10):=1;–步进 tsql varchar2(200); v_seqname varchar2(200):=’MIP_JF_SEQUENCE’;...

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle&gt;svrmgrl SVRMGR&gt;connect internal SVRMGR&gt;startup ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...

    oracle数据库11G初学者指南.Oracle.Database.11g,.A.Beginner's.Guide

    4.5 数据排序 4.6 函数:字符串函数、数字函数和聚集函数(不是分组) 4.6.1 字符串函数 4.6.2 数字函数 4.6.3 聚集函数 4.7 日期函数(格式化的和按时间排列的) 4.7.1 日期函数 4.7.2 特殊格式的日期数据类型 ...

    (最好最优Oracle分页存储过程)UP_Sys_CommQuery_GetPageList

    p_FieldOrder IN VARCHAR2, --排序的列,方式 p_CurPage IN OUT NUMBER, --当前页 p_PageSize IN OUT NUMBER, --每页显示记录条数 p_TotalRecords OUT NUMBER, --总记录数 p_TotalPages OUT NUMBER, --总...

    Oracle8i_9i数据库基础

    §10.1.1 Oracle与2000年问题 212 §10.1.2 如何正确插入日期数据 213 §10.1.3 在查询中只返回满足条件的部分记录 214 §10.1.4 快速大量删除数据Truncate 215 §10.1.5 Rowid的使用 215 §10.1.6 在查询中不让记录...

    oracle函数大全.doc

    SQL&gt; create table table1(xm varchar(8)); SQL&gt; insert into table1 values('weather'); SQL&gt; insert into table1 values('wether'); SQL&gt; insert into table1 values('gao'); SQL&gt; select xm from table1 where ...

    导出/导入与字符集之间问题的解决

    明白ORACLE的多国语言设置,ORACLE多国语言设置是为了支持世界范围的语言与字符集,一般对语言提示,货币形式,排序方式和CHAR,VARCHAR2,CLOB,LONG字段的数据的显示等有效。ORACLE的多国语言设置最主要的 两个特性...

    Oracle事例

    sql&gt; alter index xay_id allocate extent(size 200k datafile \'c:/oracle/index.dbf\'); &lt;8&gt;.alter index xay_id deallocate unused; 、查看索引 SQL&gt;select index_name,index_type,table_name from user...

    Oracle查询总结与优化

    p_SqlSelect varchar2, --查询语句,含排序部分 p_OutRecordCount out int,--返回总记录数 p_OutCursor out refCursorType) as v_sql varchar2(3000); v_count int; v_heiRownum int; v_lowRownum int; begin ...

    MYSQL,SQLSERVER,ORACLE常用的函数

    SQL&gt; select instr('oracle traning','ra',1,2) instring from dual; INSTRING --------- 9 6.LENGTH 返回字符串的长度; SQL&gt; select name,length(name),addr,length(addr),sal,length(to_char(sal)) from ....

    Oracle9i的init.ora参数中文说明

    说明: 使用字节或码点语义来指定新列的创建, 如 char, varchar2, clob, nchar, nvarchar2, nclob 列。各种字符集对字符都有各自的定义。在客户机和服务器上使用同一字符集时, 应以该字符集所定义的字符来衡量字符串...

    oracle 索引组织表的深入详解

    索引组织表的创建格式如下: 代码如下:create table indexTable( ID varchar2 (10), NAME varchar2 (20), constraint pk_id primary key (ID) ) organization index; 注意两点:● 创建IOT时,必须要设定主键...

Global site tag (gtag.js) - Google Analytics