SELECT (换成数字) AS vNumber FROM Table1 ORDEY BY vNumber
解决方案 »
- MediaPlayer控件如何屏蔽视频窗口?
- 软件开发项目,从立项、定义、需求分析、概要设计、详细设计、编码实现、测试等,大家认为各开发阶段应该优先选用哪些配套的易用、优秀的开发工具。并且通过对优秀的开发工具的合理评价和交流,方便我们广大开发者。
- 用indy收邮件的问题,用indy9和10的demo程序都会出错
- 如何修改最小化事件?
- 我想用timage控件,编一个可以自动显示单色灰度级变化的程序但是不知道如何下手?
- 如何在delphi添加 Tinifile 类呢?因为小弟我定义var setup:TIniFile;时出错了.是不是我没有添加Tinifile的原因呢.
- Delphi 中 有图像占位符功能吗?
- 关于Foxpro数据库与SQL -server 数据库的转换?
- com+:不支持此接口,调用时间过长
- 我想请哥哥用最精炼的语言翻译一下
- 问了两天的问题,仍没解决:安装盘做好后为什么在本机可运行,为什么到别的机器不能运行?
- 请问:哪里有——reportbuilder——下载啊?
我们的工作没有开展下去
http://www.csdn.net/expert/topic/397/397928.shtm
SUBSTRING()
INDEXCHAR() 1 - 9 - 1
// No.1 No.2 No.3
No.1*10000 + No.2 * 100 + No.3
我今晚(QQ)加你 你要上呀,
你说的对了,
应该是那样的编码规则,
可是 哎,客户说难记, 就把前面
的 0 去掉,我就晕了,
真的想不出什么,好办法呀,
: zswang(伴水)(伤心中)
帮我想了, 呵呵
order by convert(integer,fields)
其中fields指编码字段的名字
就是将字符型的字段转换成数字型来排序
可是这个方法不行,
DECLARE @Index1 Int
DECLARE @Index2 Int
SET @string = '1-22-333'
SET @Index1 = charindex('-', @string);
SET @Index2 = charindex('-', @string, @Index1 + 1);
select substring(@string, 1, @Index1-1) as no1,
substring(@string, @Index1 + 1, @Index2 - @Index1 - 1) as no2,
substring(@string, @Index2 + 1, LEN(@string)) as no3
DECLARE @Index1 Int
DECLARE @Index2 Int
SET @string = '1-22-333'
SET @Index1 = charindex('-', @string);
SET @Index2 = charindex('-', @string, @Index1 + 1);
select REPLICATE('0', 3 - LEN(substring(@string, 1, @Index1-1))) + substring(@string, 1, @Index1-1) + '-' +
REPLICATE('0', 3 - LEN(substring(@string, @Index1 + 1, @Index2 - @Index1 - 1))) + substring(@string, @Index1 + 1, @Index2 - @Index1 - 1) + '-' +
REPLICATE('0', 3 - LEN(substring(@string, @Index2 + 1, LEN(@string)))) + substring(@string, @Index2 + 1, LEN(@string))
/*
select substring(@string, 1, @Index1-1) as no1,
substring(@string, @Index1 + 1, @Index2 - @Index1 - 1) as no2,
substring(@string, @Index2 + 1, LEN(@string)) as no3
*/
以指定的次数重复字符表达式。语法
REPLICATE ( character_expression , integer_expression ) 参数
character_expression由字符数据组成的字母数字表达式。character_expression 可以是常量或变量,也可以是字符列或二进制数据列。integer_expression是正整数。如果 integer_expression 为负,则返回空字符串。返回类型
varcharcharacter_expression 必须为可隐性转换为 varchar 的数据类型。否则,使用 CAST 函数显式转换 character_expression。CHARINDEX
返回字符串中指定表达式的起始位置。 语法
CHARINDEX ( expression1 , expression2 [ , start_location ] ) 参数
expression1一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数据类型分类的表达式。expression2一个表达式,通常是一个用于搜索指定序列的列。expression2 属于字符串数据类型分类。start_location在 expression2 中搜索 expression1 时的起始字符位置。如果没有给定 start_location,而是一个负数或零,则将从 expression2 的起始位置开始搜索。返回类型
intSUBSTRING
返回字符、binary、text 或 image 表达式的一部分。有关可与该函数一起使用的有效 Microsoft® SQL Server™ 数据类型的更多信息,请参见数据类型。 语法
SUBSTRING ( expression , start , length ) 参数
expression是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。start是一个整数,指定子串的开始位置。length是一个整数,指定子串的长度(要返回的字符数或字节数)。说明 由于在 text 数据上使用 SUBSTRING 时 start 和 length 指定字节数,因此 DBCS 数据(如日本汉字)可能导致在结果的开始或结束位置拆分字符。此行为与 READTEXT 处理 DBCS 的方式一致。然而,由于偶而会出现奇怪的结果,建议对 DBCS 字符使用 ntext 而非 text。
返回类型
如果 expression 是支持的字符数据类型,则返回字符数据。如果 expression 是支持的 binary 数据类型,则返回二进制数据。返回字符串的类型与给定表达式的类型相同(表中显示的除外)。
当然自己要多吃点苦其实你可以在录入保存的时候就处理成"01-01-01"这种格式
不就好sql了吗?