求助高手 关于数据表中的数据批量更改的问题 想了一下午了 实在没招了

[复制链接]
查看11 | 回复9 | 2005-11-2 13:35:57 | 显示全部楼层 |阅读模式
一个数据表保存了上传文件的信息 由于文件保存在本地
所以在表中有一个字段是保存文件路径的。因为开始将文件都保存到了c盘 现在想都放到d盘如:将字段c:\fileupload\files\download//1371207824.jpg
都转变成d:\fileupload\files\download//1371207824.jpg
请问改怎么改呢 字段很多 不可能手工改 能不能用sql来实现呢??????
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
如果文件路径中只有最前面一个字母为C,则可以使用REPLACE函数
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
具体如何写呢??
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
如果不是,则可以使用更安全的办法,update table set col1='d'||ltrim(col1,1);
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
先试一试
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
用replace 函数实现了 后一个方法 不能把c替换掉 只是在c的前面又加了一个d
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
最初由 xuezheng17 发布
[B]用replace 函数实现了 后一个方法 不能把c替换掉 只是在c的前面又加了一个d [/B]

字符串中若只有一个"C"则可写为:
REPLACE('c:\fileupload\files\download//1371207824.jpg','c','d')
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
最初由 清竹幽香 发布
[B]
字符串中若只有一个"C"则可写为:
REPLACE('c:\fileupload\files\download//1371207824.jpg','c','d') [/B]

改成以下可能更好一点!
REPLACE('c:\fileupload\files\download//1371207824.jpg','c:\','d:\')
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
update table set col1='d'||ltrim(col1,'c');应该是这样
回复

使用道具 举报

千问 | 2005-11-2 13:35:57 | 显示全部楼层
最初由 ilove0kyo 发布
[B]update table set col1='d'||ltrim(col1,'c');应该是这样 [/B]


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行