解决方案 »
- sql 急需解决的问题
- 急。求助,如何让主表从附表查询并更新字段,??
- SQL能实现{将A表中的所有数据复制到B表(B表含有A表中所有字段,只是部分字段名称不同,但增加了5个新的字段,且新增的5个字段被设置为“不能为空”)}吗?
- 请问如何检查数据库表是否存在以及字段的类型是否正确?
- 如何判断一个字段的内容在另一个字段中是否出现过,请求帮忙!
- 如何取日期形数据的年月日部分?不用substring之类的,急求解,在线等
- 查询语句效率问题,怪
- sql2008如何在指定表下保存触发器?
- sql SEVER是否有大小写的区别呢?
- 急需解决的问题!一个向数据库写入时间数据的问题!多谢高手指教!100分!
- 请高手帮我把sql语句改为存储过程
- sql 复杂查询
table表里有[name]字段,现在要增加一个字段[name2];
[name]字段不变,新字段[name2]的要求如下
-----------------
1、先把[name]字段里包含 'abc'的连续字符替换成 'xy';
2、再把替换后的字符排序 如字符为‘zcxbk’排序后是‘bckxz’;(由a到z)
-----------------
就上面两条 示例:
原字段 通过SQL语句先替换再排序 新字段
[name] --->> [name2]
uwabczxbc --->> bcuwxxy
abcwfdz --->> dfwxyz
谢谢了!
http://blog.csdn.net/jinjazz/article/details/3844595
DECLARE @T TABLE(name VARCHAR(10))
INSERT @T SELECT 'uwabczxbc'
INSERT @T SELECT 'abcwfdz';WITH Numbers AS
(
SELECT TOP(20)
ROW_NUMBER() OVER(ORDER BY [object_id]) AS ID
FROM sys.objects
),
Liang AS
(SELECT replace(A.name,'abc','xy') as Name,B.ID,SUBSTRING(replace(A.name,'abc','xy'),B.ID,1) AS v
FROM @t AS A
JOIN Numbers AS B
ON SUBSTRING(replace(A.name,'abc','xy'),B.ID,1)<>''
)SELECT name,name2=REPLACE((
SELECT v AS [data()] FROM Liang
WHERE name=replace(A.name,'abc','xy') ORDER BY v FOR XML PATH('') ),' ','')
FROM @t AS A
/*
name name2
---------- -----------
uwabczxbc bcuwxxyz
abcwfdz dfwxyz
*/你给出的结果不对,第一个记录中的z是存在的...
'abc'
'abn'
'abx'
'abe'
'cdu'
'ufc'
'bqa'
'qda'
'adw'
'dfa'
都换成'xy'
只能通过多个replace吗?