原文链接
为了实现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的话
Oracle SQL 函数进行BLOB转换Varchar2
各种string类型转换
在上篇文章给大家讲了MySQL数据库中把int转化varchar引发的慢查询,本文给大家介绍Mysql数据库中把varchar类型转化为int类型的方法,一起看看吧! mysql为我们提供了两个类型转换函数:CAST和CONVERT,现成的东西...
在本篇文章中我们给大家分享了关于MySQL中int、char以及varchar的性能对比的相关内容,有兴趣的朋友们学习下。
这是一个sql文件,在查询分析器里打开运行,先创建二个临时表Temp1 、Temp2, temp1是int型主键,temp2是varchar(30)型主键,然后各插入十万条数据,比较插入的速度和 select的速度。
您可能感兴趣的文章:详解SQL Server中的数据类型详解MySQL数据类型int(M)中M的含义mysql存储引擎和数据类型(二)Java数据类型与MySql数据类型对照表SQL Server数据类型转换方法SQL Server比较常见数据类型详解...
sql语句将行转换成列 declare @sql varchar(8000) set @sql = 'select 物料代码' select @sql = @sql + ',sum(case 地区 when '''+地区+''' then 数量 end) ['+地区+']' + ',sum(case 地区 when '''+地区+'''...
uniqueidentifier转换成varchar数据类型的sql语句,需要的朋友可以参考下。
sql-varbinary转换成字符串,主要是将SQL中的二进制转换成字符串显示。
下面接着看下oracle中varchar类型的日期格式转换date类型 oracle中varchar类型的日期格式转换date类型 SELECT to_char(to_date(m.ma_datetime,'yyyy-MM-dd hh24:mi:ss'), 'yyyyMMdd') FROM my_task m; m.ma_datet
---数字转换汉字----RR--------------------- ALTER FUNCTION numToChinese(@str varchar(20)) RETURNS VARCHAR(20) AS BEGIN declare @i int, @n_str varchar(1),@data varchar(20)
最近一周接连处理了2个由于int向varchar转换无法使用索引,从而引发的慢查询。 CREATE TABLE `appstat_day_prototype_201305` ( `day_key` date NOT NULL DEFAULT '1900-01-01', `appkey` varchar(20) NOT NULL ...
在SQL SERVER中,cast和convert函数都可用于类型转换,其功能是相同的, 只是语法不同. cast一般更容易使用,convert的优点是可以格式化日期和数值. select CAST('123' as int) -- 123 select CONVERT(int, '123') -- ...
declare @i int set @i=’a’ set @i=cast(‘a’ as int) set @i=convert(int, ‘a’) print @i –输出结果为:将 varchar 值 ‘a’ 转换为数据类型为 int 的列时发生语法错误。这一点与java不一样 declare @...
oracle中varchar与date的转换,number与varchar的转换.pdf