再议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中根据某个字符切割字符串函数,比如根据逗号切割字符串,结果返回的是一个表值函数,这个函数返回结果字段包含Id和Value,Id为序号,Value为切割后的值
sql server拼接字符串查询语句。 普通拼接字符串和拼接某一列的所有值。
ms sql server 字符合计,类似sum函数的功能,不过是针对字符型!
标题:按某字段合并字符串之一(简单合并) 描述:将如下形式的数据按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 Server 2000及后续版本如SQL Server 2005中,如何有效地获取字符串中某一字符的位置,以及基于此进行更复杂的数据处理。 ### SQL Server中的字符串...
### SQL2000 字符串分割方法解析 在处理大量数据时,经常需要对包含逗号分隔值(CSV)格式的字符串进行拆分,以便于进一步的数据处理与分析。本文将详细介绍如何使用SQL Server 2000中的T-SQL语言实现字符串的拆分...
2、按指定符号分割字符串,返回“分割后指定索引的第几个元素”的值,象数组一样方便 3、检查一个元素是否在数组中,返回1或0 4、检查一个元素是否与数组中的相匹配,并返回相匹配的数组的值。参数值为0表示全模糊...
### SQL字符串分割技术详解 在数据库管理与查询中,经常遇到需要将一个包含多个值的字符串字段分割成多个单独字段的情况。这种需求在处理CSV数据、解析复合字段或执行复杂的数据清洗任务时尤为常见。本文将详细介绍...
根据给定的信息,本文将详细解释如何在SQL中实现截取用特定字符分割的字符串中的第n个子字符串。此需求通常应用于数据处理与分析场景中,尤其在处理半结构化或非结构化的文本数据时非常有用。 ### 核心知识点解析 ...
sql自定义函数,用于合并字符串列,可以在分组的情况下对varchar类型的字段合并
标题中的“Sql批量替换字符串的工具”指的是一个用于SQL数据库中进行大量文本字符串替换的程序。这类工具在数据库管理中非常实用,特别是在处理大量数据时需要统一修改特定字符串的情况。例如,如果你有一个数据库表...
### SQL字符串拼接的原理 在SQL中,字符串拼接是指将多个字符串值连接成一个单一的字符串。不同的数据库系统提供了不同的函数或操作符来实现这一功能。例如,在SQL Server中,可以使用`+`操作符或`CONCAT()`函数;...
最后,当我们谈论“字符串的最终排序”时,使用转换后的数字字段进行排序将更准确,因为字符串按照字典顺序排序,而数字则按照数值大小排序。例如: ```sql SELECT * FROM your_table ORDER BY TO_NUMBER(str_...
SQL 字符串分割函数实现多行数据转换 在数据库中,经常会遇到将一个字段中的特殊字符分割的字符串转换成多行数据的情况。这是一个常见的需求,但是网上提供的解决方案往往非常复杂,难以理解和实现。为了解决这个...
sqlServer中,给字符串开头或结尾自动补零,可以控制补几个零,共三种方法。
在SQL Server 2005中,连接字符串是一项常见的任务,尤其在处理包含多个值的列时。在本文中,我们将探讨三种不同的方法来按列连接字符串,这些方法适用于已经存在的表结构,无需进行重大改动。 首先,我们可以考虑...
接下来,我们将深入探讨几种常用的ABAP SQL字符串函数: 1. `CONCAT(arg1, arg2)`: 这个函数用于连接两个字符串`arg1`和`arg2`。它会忽略尾部空格,并且结果的最大长度为1333个字符。例如: ```abap SELECT matnr,...
自己写了一个function 用于处理拆分时的逻辑运算,性能比网上找的快好几倍, 代码和说明:https://blog.csdn.net/jimyao37/article/details/123522885