高分请教一个sql语句

fiveok 2008-01-27 06:38:21
数据库表 full 字段 ID, url
原始数据表:url中的值全部都是一样的。

ID url
1 文件名.html
3 文件名.html
4 文件名.html
6 文件名.html
7 文件名.html
8 文件名.html


要得到的数据表结果

ID url
1 1.html
3 3.html
4 4.html
6 6.html
7 7.html
8 8.html

意思就是把 url里的 文件名 替换成 当前行的 ID值
...全文
127 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
子陌红尘 2008-01-29
  • 打赏
  • 举报
回复
update 表 set url=CONCAT(ID , RIGHT(url,5)) 
fiveok 2008-01-27
  • 打赏
  • 举报
回复
各位大哥,真不好意思,我刚才把帖子写错了。这个论坛我不太熟悉,操作失误

数据库是 mysql 不是MSSQL。这里的答案都是针对MSQL。所以不能用。下面是我开的新帖子。各位不好意思的大哥回复一下吧。回答都给分。小弟在这里赔罪了。

http://topic.csdn.net/u/20080127/19/d1fcaaf8-f287-42cc-8932-22b944b47150.html
pt1314917 2008-01-27
  • 打赏
  • 举报
回复
6楼的,怎么可以将楼主设置成为黑名单?
pt1314917 2008-01-27
  • 打赏
  • 举报
回复
...确实不厚道。。。。
中国风 2008-01-27
  • 打赏
  • 举报
回复
楼主不厚道哟,
添加一个黑名单先
pt1314917 2008-01-27
  • 打赏
  • 举报
回复

update full set url=replace(url,'文件名',id)
中国风 2008-01-27
  • 打赏
  • 举报
回复
如果.html是固定时:
declare @T table(ID int,url nvarchar(10))
insert @T select
1, '文件名.html' union all select
3, '文件名.html' union all select
4, '文件名.html' union all select
6, '文件名.html' union all select
7, '文件名.html' union all select
8, '文件名.html'



update @T
set url=rtrim(ID)+'.html'

select * from @T

(所影响的行数为 6 行)


(所影响的行数为 6 行)

ID url
----------- ----------
1 1.html
3 3.html
4 4.html
6 6.html
7 7.html
8 8.html

(所影响的行数为 6 行)


中国风 2008-01-27
  • 打赏
  • 举报
回复
查询时用:
declare @T table(ID int,url nvarchar(10))
insert @T select
1, '文件名.html' union all select
3, '文件名.html' union all select
4, '文件名.html' union all select
6, '文件名.html' union all select
7, '文件名.html' union all select
8, '文件名.html'



select ID,rtrim(ID)+right(url,charindex('.',reverse(url))) as 显示
from @t
中国风 2008-01-27
  • 打赏
  • 举报
回复
declare @T table(ID int,url nvarchar(10))
insert @T select
1, '文件名.html' union all select
3, '文件名.html' union all select
4, '文件名.html' union all select
6, '文件名.html' union all select
7, '文件名.html' union all select
8, '文件名.html'

update @T
set url=rtrim(ID)+right(url,charindex('.',reverse(url)))

select * from @t


(所影响的行数为 6 行)


(所影响的行数为 6 行)

ID url
----------- ----------
1 1.html
3 3.html
4 4.html
6 6.html
7 7.html
8 8.html

(所影响的行数为 6 行)

中国风 2008-01-27
  • 打赏
  • 举报
回复

select
ID,
rtrim(ID)+right(url,charindex('.',reverse(url))-1)
from
T

update T
set url=rtrim(ID)+right(url,charindex('.',reverse(url))-1)

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧