`
javababy1
  • 浏览: 1202710 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

再议SQL2005下字符串字段内的字符排序

阅读更多

再议SQL2005下字符串字段内的字符排序

首选感谢近身剪(http://blog.csdn.net/jinjazz/archive/2009/01/20/3844336.aspx)对我前一篇关于列内字符串间字符排序问题的指正,(汗一个先,如果出现相同字符的问题没注意),我现修正这个问题,有请JJ和大家再次指正。

-----------------------------------------------------------------------

-- Author: happyflystone

-- Date : 2009-01-20 23:11:11

-- Ver: Microsoft SQL Server 2005 - 9.00.2047.00 (Intel X86)

-- Apr 14 2006 01:12:25

-- Copyright (c) 1988-2005 Microsoft Corporation

-- Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4)

--

----------------------------------------------------------------------

--测试数据

DECLARE @T TABLE(COL VARCHAR(10))

INSERT @T SELECT 'AWEAFSA'

INSERT @T SELECT 'DFSA'

INSERT @T SELECT 'DQWF'

--数据生成

;

WITH T

AS

(

SELECT top 26 ROW_NUMBER() OVER (ORDER BY ID) AS n

FROM SYS.SYSOBJECTS

),

T2

AS

(

SELECT col,CHAR(64+N) AS M,N

FROM @T JOIN T

ON CHARINDEX(CHAR(64+N),COL) > 0

)

SELECT

COL,

replace(

(SELECT M as [data()] FROM T2 WHERE COL = T3.COL ORDER BY N FOR XML PATH('')

),' ','') AS NEWCOL

FROM @T T3

--结果

/*

COL NEWCOL

---------- --------

AWEAFSA AAAEFSW

DFSA ADFS

DQWF DFQW

(3 行受影响)

*/

最后再次与梁的比了一下,效率还是高了点

说明:程序仅考虑了26个字母串的处理,嘿嘿如果所有字符都考虑还是用分解串的方法

分享到:
评论

相关推荐

    sqlserver中根据某个字符切割字符串函数

    sqlserver中根据某个字符切割字符串函数,比如根据逗号切割字符串,结果返回的是一个表值函数,这个函数返回结果字段包含Id和Value,Id为序号,Value为切割后的值

    sql server拼接字符串和拼接一列的值

    sql server拼接字符串查询语句。 普通拼接字符串和拼接某一列的所有值。

    字符串合计(SQL SUM)

    ms sql server 字符合计,类似sum函数的功能,不过是针对字符型!

    分组字符合并SQL语句 按某字段合并字符串之一(简单合并)

    标题:按某字段合并字符串之一(简单合并) 描述:将如下形式的数据按id字段合并value字段。 id value —– —— 1 aa 1 bb 2 aaa 2 bbb 2 ccc 需要得到结果: id value —— ———– 1 aa,bb 2 aaa,bbb,...

    字符串分割的字符串数量 SQL

    在实际应用场景中,有时会遇到存储了多个值的字符串字段,例如,一个包含多个电子邮件地址的字符串字段,这些地址之间可能用逗号(`,`)或分号(`;`)等符号分隔。为了方便后续的数据分析或操作,需要先统计出这样的...

    SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串

    SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串

    取字符串中字符位置

    本文将围绕“取字符串中字符位置”这一主题展开,深入探讨在SQL Server 2000及后续版本如SQL Server 2005中,如何有效地获取字符串中某一字符的位置,以及基于此进行更复杂的数据处理。 ### SQL Server中的字符串...

    sqlserver 字符串分割、包含、匹配

    2、按指定符号分割字符串,返回“分割后指定索引的第几个元素”的值,象数组一样方便 3、检查一个元素是否在数组中,返回1或0 4、检查一个元素是否与数组中的相匹配,并返回相匹配的数组的值。参数值为0表示全模糊...

    sql2000字符串分割,字符串拆分

    ### SQL2000 字符串分割方法解析 在处理大量数据时,经常需要对包含逗号分隔值(CSV)格式的字符串进行拆分,以便于进一步的数据处理与分析。本文将详细介绍如何使用SQL Server 2000中的T-SQL语言实现字符串的拆分...

    SQL字符串分割

    ### SQL字符串分割技术详解 在数据库管理与查询中,经常遇到需要将一个包含多个值的字符串字段分割成多个单独字段的情况。这种需求在处理CSV数据、解析复合字段或执行复杂的数据清洗任务时尤为常见。本文将详细介绍...

    截取用,分割的字符串中的第n个字符串 SQL

    根据给定的信息,本文将详细解释如何在SQL中实现截取用特定字符分割的字符串中的第n个子字符串。此需求通常应用于数据处理与分析场景中,尤其在处理半结构化或非结构化的文本数据时非常有用。 ### 核心知识点解析 ...

    sql自定义函数分组合并字符串列

    sql自定义函数,用于合并字符串列,可以在分组的情况下对varchar类型的字段合并

    Sql批量替换字符串的工具

    标题中的“Sql批量替换字符串的工具”指的是一个用于SQL数据库中进行大量文本字符串替换的程序。这类工具在数据库管理中非常实用,特别是在处理大量数据时需要统一修改特定字符串的情况。例如,如果你有一个数据库表...

    sql 多行合并某一列字符串拼接的示例

    ### SQL字符串拼接的原理 在SQL中,字符串拼接是指将多个字符串值连接成一个单一的字符串。不同的数据库系统提供了不同的函数或操作符来实现这一功能。例如,在SQL Server中,可以使用`+`操作符或`CONCAT()`函数;...

    SQL 语句 将一个表中用特殊字符分割的字段转换成多行数据.docx

    SQL 字符串分割函数实现多行数据转换 在数据库中,经常会遇到将一个字段中的特殊字符分割的字符串转换成多行数据的情况。这是一个常见的需求,但是网上提供的解决方案往往非常复杂,难以理解和实现。为了解决这个...

    oracle通过sql实现字符串转数字oracle函数

    最后,当我们谈论“字符串的最终排序”时,使用转换后的数字字段进行排序将更准确,因为字符串按照字典顺序排序,而数字则按照数值大小排序。例如: ```sql SELECT * FROM your_table ORDER BY TO_NUMBER(str_...

    ABAP字符串SQL Functions语法总结

    接下来,我们将深入探讨几种常用的ABAP SQL字符串函数: 1. `CONCAT(arg1, arg2)`: 这个函数用于连接两个字符串`arg1`和`arg2`。它会忽略尾部空格,并且结果的最大长度为1333个字符。例如: ```abap SELECT matnr,...

    [sql server]SQL Server2005杂谈(4):在SQL Server2005中按列连接字符串的三种方法.doc

    在SQL Server 2005中,连接字符串是一项常见的任务,尤其在处理包含多个值的列时。在本文中,我们将探讨三种不同的方法来按列连接字符串,这些方法适用于已经存在的表结构,无需进行重大改动。 首先,我们可以考虑...

    SQL 字符串自动补零

    sqlServer中,给字符串开头或结尾自动补零,可以控制补几个零,共三种方法。

    SQLServer逗号分隔的字符串转换成表

    SQL Server 逗号分隔的字符串转换成表 SQL Server 逗号分隔的字符串转换成表是指将一个逗号分隔的字符串转换成一个表结构,以便于进行查询、更新或者删除等操作。下面是将逗号分隔的字符串转换成表的步骤: 1. ...

Global site tag (gtag.js) - Google Analytics