这个用sql server来做挺麻烦的,因为不能事先确定是哪些词。
解决方案 »
- 什么语句能实现set language的作用,但范围大于session的?
- 非本机Excel导入到sqlserver
- 数据库连接问题
- sql2000 如何禁止指定计算机访问数据库?
- 生成master.mdf..2009.10.29.13.35.06.trc文件导致C盘空间不足。
- DATETIME类型截取的问题
- 用Sql语句返回人员及其对应的积分总和
- 一个局域网里一台SQL SERVER机器向另一SQL SERVER服务器注册,有什么意义,今后会达到什么使用效果???
- 如何在VB中调用SQL 2000中的user defined functions?
- SQL多行转多列怎么实现呢
- 已成功与服务器建立连接 但是在登录过程中发生错误 error:233
- 请高手指教,这样的统计数据如何用Sql语句实现
go
if object_id('tb') is not null drop table tb
if object_id('#T') is not null drop table #T
go
create table tb(col1 varchar(max))
insert into tb
select 'abc' union all
select 'aabc' union all
select 'abcCC' union all
select 'abbc' union all
select 'abc cde'
go
;WITH MU AS (
SELECT ROW_NUMBER() OVER(ORDER BY T1.NUMBER) AS NUMBER
FROM MASTER..SPT_VALUES T1
INNER JOIN MASTER..spt_values T2 ON 1=1
),MU2 AS (
SELECT NUMBER
FROM MU
WHERE NUMBER<=(SELECT MAX(LEN(COL1)) FROM TB)
)
SELECT *
INTO #T
FROM MU2
GO
SELECT T1.col1
FROM TB T1
INNER JOIN #T T2 ON LEN(T1.COL1)>0 AND LEN(T1.COL1)>=T2.NUMBER+1
INNER JOIN #T T3 ON SUBSTRING(T1.COL1,T2.NUMBER,1)=SUBSTRING(T1.COL1,T3.NUMBER,1) AND T2.NUMBER=T3.NUMBER-1 AND LEN(T1.COL1)>=T3.NUMBER
GROUP BY T1.col1
/*
aabc
abbc
abcCC
*/