`
tianlihu
  • 浏览: 314053 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

sql中,把varchar类型转换成int型,在进行排序

阅读更多
原文链接

为了实现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表示从后面取多少位。
分享到:
评论

相关推荐

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

    在SQL Server中,你可以使用CAST函数将varchar类型的值转换为int类型,然后进行排序。例如: ```sql SELECT * FROM yourtable ORDER BY CAST(yourcol AS INT); ``` 在这个例子中,`yourcol`是你需要转换和排序的...

    Mysql数据库中把varchar类型转化为int类型的方法

    在某些场景下,例如进行数值比较或计算时,将varchar转换为int可能是必要的。 MySQL提供了两种内置的类型转换函数:CAST和CONVERT,它们都可以将一个数据类型的值转换为另一个数据类型。这两个函数的主要区别在于...

    SQL自定义排序

    在进行数据库查询操作时,我们经常会遇到这样的情况:数据库中的表按照某列进行了排序,但这种排序方式并不符合我们的实际需求,同时由于种种限制(例如:权限不足、表结构固定等),我们又无法直接对表的数据进行...

    presto sql 与mysql sql 对比.pdf

    例如,在 MySQL SQL 中,`where` 条件中的字符串类型可以隐式转换为数字类型,但这可能会造成索引不起效和非预期的结果。 聚合函数 Presto SQL 和 MySQL SQL 都支持聚合函数,如 `count()`、`sum()`、`avg()` 等。...

    MySQL数据库中把int转化varchar引发的慢查询

    本文将深入探讨在将`int`类型转换为`varchar`类型后导致的慢查询问题,并提供相关优化建议。 首先,让我们看下问题的根源。在给出的表`appstat_day_prototype_201305`中,`appkey`字段被定义为`varchar(20)`,而`...

    数据库转换程序

    例如,SQL Server的`INT`对应Oracle的`NUMBER`,`VARCHAR2`在Oracle中对应SQL Server的`NVARCHAR`,而日期时间类型在两者之间也有差异。转换过程需要确保这些数据类型的兼容性和精度不受影响,同时处理可能的数据...

    SQL查询排列

    本文通过两个具体例子展示了如何在SQL中从字符串字段中提取数字并进行排序。这些技术在处理复杂的数据时非常有用,特别是在需要根据字段中不同部分进行排序的情况下。掌握了这些技巧后,你可以更加灵活地管理和分析...

    2017国民经济行业分类sql.rar

    在本案例中,Navicat被用来生成SQL脚本,这通常意味着它将数据表结构和数据转换成了INSERT INTO语句,以便于数据迁移或备份。 文件列表中的 "tb_industry.sql" 和 "industry.sql" 可能代表两个不同版本的行业分类...

    SQL 中文参考手册(实用版)

    6. **数据类型**:SQL支持多种数据类型,包括数值型(INT、FLOAT、DECIMAL)、字符型(VARCHAR、CHAR)、日期时间型(DATE、TIME、DATETIME)、二进制型(BLOB、VARBINARY)等,每种类型都有其特定的用途和存储要求...

    SQL语句SQL语句.zip

    在实际项目中,SQL脚本文件(如"SQL语句.sql")可能包含初始化数据库、填充测试数据或执行复杂数据转换的命令。 总之,掌握SQL是IT专业人士必备的技能,无论是在JavaWeb开发还是其他数据库相关的领域,SQL都是不可...

    SQL 数据类型(doc版)

    SQL Server 数据类型与Access和MySQL有许多相似之处,包括数值类型(如INT、FLOAT、DATE等),但也有一些特有的数据类型,如BIT(布尔值)、IMAGE(二进制大数据)、NCHAR(固定长度的Unicode文本)等,具体细节未在...

    sql语句学习入门

    SQL定义了多种数据类型来存储不同类型的数据,如整数(INT)、浮点数(FLOAT)、字符(CHAR, VARCHAR)、日期时间(DATE, TIMESTAMP)等。 约束用于限制在表中输入的数据类型,包括: - NOT NULL约束保证列中不能...

    SQLServer汉字转全拼音函数 .txt

    在数据库管理和数据处理领域,经常需要对文本进行各种形式的转换,以便于检索、排序或者分析等操作。其中一个常见的需求是将汉字转换为拼音,这对于支持中文环境的系统尤其重要。本文将详细介绍一个在SQL Server中...

    T-SQL示例大全(全是T-SQL语句 )

    例如,数据类型包括数值型(如INT、DECIMAL)、字符型(如VARCHAR、NVARCHAR)、日期时间型(如DATE、DATETIME)等。变量用于存储数据,声明格式为`DECLARE @变量名 数据类型`。常量则以单引号括起,如`'Hello, ...

    SQL 常用关键字解析

    ### SQL 常用关键字解析 ...总结以上内容,我们介绍了 SQL 语言中的一些常用关键字,这些关键字对于进行有效的数据操作至关重要。了解和熟练掌握这些关键字及其用法,可以帮助开发者更高效地管理和操作数据。

    无法解决 equal to 操作的排序规则冲突

    在联接条件中显式指定一个排序规则,以确保双方使用相同的排序规则进行比较。 ```sql SELECT * FROM #t1 A INNER JOIN #t2 B ON A.name = B.name COLLATE Chinese_PRC_CI_AI_WS; ``` **2. 使用转换函数** 另一种...

    SQL21天自学通.pdf

    CREATE TABLE employees (id INT PRIMARY KEY, name VARCHAR(50), age INT); ``` - **建立数据字典**:记录数据库的元数据,方便管理和维护。 - 示例:创建名为“mydictionary”的数据字典。 ```sql CREATE ...

Global site tag (gtag.js) - Google Analytics