原文链接
为了实现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表示从后面取多少位。
分享到:
相关推荐
sql中把varchar类型转换为int型然后进行排序,如果我们数据库的ID设置为varchar型的 在查询的时候order by id的话
例如,在 MySQL SQL 中,`where` 条件中的字符串类型可以隐式转换为数字类型,但这可能会造成索引不起效和非预期的结果。 聚合函数 Presto SQL 和 MySQL SQL 都支持聚合函数,如 `count()`、`sum()`、`avg()` 等。...
如果想在多个列上进行排序,必须对每个列指定DESC关键字。 升序是默认的,可不写,但降序必须写。 六、WHERE子句,选择、过滤 其后只能跟逻辑语句,返回值只有ture或false 如: select last_name,salary from s...
9 实验四 E-R模型与关系模型的转换 13 实验一 数据库服务器的连接及数据库的建立 1.1实验名称:数据库服务器的连接及数据库的建立 1.2实验类型:验证型 1.3实验学时:3h 1.4实验目的: 了解连接数据库服务器的身份...
所有的类型的值都可以是null,包括int、float等数据类型 空字符串“”是不等于null,0也不等于null create table temp( id int not null, name varchar(255) not null default ‘abc’, sex char null ) 上面的table...
数据查询语言 (Data Query Language, DQL) 是SQL语言中,负责进行数据查询而不会对数据本身进行修改的语句,这是最基本的SQL语句。例如:SELECT(查询) 数据控制语言Data Controlling Language(DCL),用来...
以上选择原则主要是从以下两个⾓度考虑: 1、在对数据进⾏⽐较(查询条件,JOIN条件及排序)操作时,同样的数据,字符处理往往⽐数字处理慢。 2、在数据库中,数据处理以页为单位,列的长度越⼩,利于性能提升。 ...
逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。 (2)对表结构进行规范化处理(第三范式)。 表汇总 表名 功能说明 Enter_storage 产品入库(新产品的登记、修改、查询) Exit_...