这个是狙狙的sql解法。
http://blog.csdn.net/happyflystone/archive/2009/01/17/3819863.aspx
引用需求
今天和梁翁在群里聊天,小家伙突然抛出一个有意思的问题,那就是字符串字段内的字符串排序问题,比如有列col,有数据'RDGS' ,要求输出为'DGRS'。
依靠ascii来分解字符串的时候碰到相同字符串会有问题,和上面一篇oracle中的解法一样,索性根据字符串长度把sql语句写长点...这样还可以支持任何字符
我的想法
--测试数据
DECLARE @T TABLE(COL VARCHAR(10))
INSERT @T SELECT 'AWEAFSA'
INSERT @T SELECT 'DFSFA'
INSERT @T SELECT 'DQWF'
--数据生成
select col,
col2=replace((
select c as [data()] from(
select *,
c=case rn
when 1 then substring(col,1,1)
when 2 then substring(col,2,1)
when 3 then substring(col,3,1)
when 4 then substring(col,4,1)
when 5 then substring(col,5,1)
when 6 then substring(col,6,1)
when 7 then substring(col,7,1)
when 8 then substring(col,8,1)
when 9 then substring(col,9,1)
when 10 then substring(col,10,1)
else '' end from(
select col,rn from @t,(select rn=row_number() over(order by id) from sysobjects)b
where b.rn<=10)t1)t2 where c <>'' and col=t3.col order by c FOR XML PATH('')),' ','')
from @t t3
/*
col col2
----------
------------
AWEAFSA AAAEFSW
DFSFA ADFFS
DQWF DFQW
*/
分享到:
相关推荐
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数据库中进行大量文本字符串替换的程序。这类工具在数据库管理中非常实用,特别是在处理大量数据时需要统一修改特定字符串的情况。例如,如果你有一个数据库表...
【SqlServer批量替换字符串工具】是一种专门针对Sqlservler数据库设计的实用工具,旨在高效地进行大规模的字符串替换操作。在数据库管理中,有时我们需要更新大量数据,尤其是涉及到文本字段时,手动修改每个记录...
根据给定的信息,本文将详细解释如何在SQL中实现截取用特定字符分割的字符串中的第n个子字符串。此需求通常应用于数据处理与分析场景中,尤其在处理半结构化或非结构化的文本数据时非常有用。 ### 核心知识点解析 ...
SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串SQL截取以逗号分隔的字符串
在SQL Server 2008中,将一列值转换为一个字符串是一个常见的需求,特别是在进行数据汇总或生成报告时。本篇文章将详细介绍如何利用SQL Server 2008中的功能来实现这一需求,并深入探讨背后的原理和技术要点。 ### ...
本文将围绕“取字符串中字符位置”这一主题展开,深入探讨在SQL Server 2000及后续版本如SQL Server 2005中,如何有效地获取字符串中某一字符的位置,以及基于此进行更复杂的数据处理。 ### SQL Server中的字符串...
它首先使用`substring()`函数提取从`id`位置开始到下一个逗号之间的子字符串,然后通过`charindex()`函数找到逗号的位置,并计算出子字符串的长度。最后通过`where`子句筛选出所有符合条件(即当前位置为逗号)的...
2、按指定符号分割字符串,返回“分割后指定索引的第几个元素”的值,象数组一样方便 3、检查一个元素是否在数组中,返回1或0 4、检查一个元素是否与数组中的相匹配,并返回相匹配的数组的值。参数值为0表示全模糊...
在数据库管理与查询中,经常遇到需要将一个包含多个值的字符串字段分割成多个单独字段的情况。这种需求在处理CSV数据、解析复合字段或执行复杂的数据清洗任务时尤为常见。本文将详细介绍如何在SQL中实现字符串分割...
### SQL字符串拼接的原理 在SQL中,字符串拼接是指将多个字符串值连接成一个单一的字符串。不同的数据库系统提供了不同的函数或操作符来实现这一功能。例如,在SQL Server中,可以使用`+`操作符或`CONCAT()`函数;...
例如,将一个字段中的某个特定字符或字符串替换为另一个字符或字符串。这种需求在实际业务处理中非常常见,尤其是在数据迁移、数据整合或数据清理的过程中。 #### 2. 使用REPLACE函数进行字符替换 在SQL中,`...
最后,当我们谈论“字符串的最终排序”时,使用转换后的数字字段进行排序将更准确,因为字符串按照字典顺序排序,而数字则按照数值大小排序。例如: ```sql SELECT * FROM your_table ORDER BY TO_NUMBER(str_...
sql自定义函数,用于合并字符串列,可以在分组的情况下对varchar类型的字段合并
sqlServer中,给字符串开头或结尾自动补零,可以控制补几个零,共三种方法。