sql语句中怎样删除字串中的一个字符? 数据库中有一列field1@123@234@456现在想把所有的@都删掉,语句应该怎样写呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 oracle中可以用replacerepalce(field1,'@','') 我用的是access,replace函数没有定义:(有别的办法么? access最简单的办法就是打开mdb文件然后在这个字段搜索替换就行了 substring//相当于delphi: copy函数stuff;//SQL支持,不知Access 用DELPHI写一个小函数就行了:vartmpstr:String;begin adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('select * from table1'); adoquery1.open; while not adoquery1.eof do begin tmpstr := adoquery1.fieldbyname('field1').asstring; tmpstr := copy(tmpstr,2,length(tmpstr)-1); adoquery1.edit; adoquery1.fieldbyname('field1').asstring:=tmpstr; adoquery1.post; adoquery1.next; end;上面的代码写了这么多,其实如果这个问题在SQL SERVER中一条SQL 语句就可以摆平了!一来我没有用过ACCESS的数据库, 所以不知道能不能像SQL SERVER中一样写;二来我想这样写也是给楼主一个思路,以后如果碰到问题不妨使用DELPHI的强大的处理功能来完成! 不行啊,field1中的字串长度不一样啊,有没有类似于replace的函数? @的位置是否固定为第一位?如果是的话,可以这样:update yourTableset Field1 = Right(Field1, Len(Field1) - 1) where Left(Field1, 1) = '@' update 表名set 字段名=REPLACE(字段名,'@','') 学习中关于线程释放的一个很菜的问题 急救插入新记录的方法。 谁能告诉我TREEVIEW用法的技术文章在哪里找?? ★★★★(离散点)非线性回归的算法(最好有Delphi例子) formula one 和 excel的兼容问题?(100分) RichEdit问题,急!!! 能用中文给我举例说明一下virtual和override的意思吗? 请各位分析一下下面的算法 delphi本身研究 Delphi问题,timeGetTime 如何在光标移到edit1,调出指定的输入法? 如何延时1秒?
repalce(field1,'@','')
:(
有别的办法么?
然后在这个字段搜索替换就行了
stuff;//SQL支持,不知Access
tmpstr:String;
begin
adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('select * from table1');
adoquery1.open;
while not adoquery1.eof do
begin
tmpstr := adoquery1.fieldbyname('field1').asstring;
tmpstr := copy(tmpstr,2,length(tmpstr)-1);
adoquery1.edit;
adoquery1.fieldbyname('field1').asstring:=tmpstr;
adoquery1.post;
adoquery1.next;
end;上面的代码写了这么多,其实如果这个问题在SQL SERVER中一条SQL 语句就可以摆平了!一来我没有用过ACCESS的数据库, 所以不知道能不能像SQL SERVER中一样写;
二来我想这样写也是给楼主一个思路,以后如果碰到问题不妨使用DELPHI的强大的处理功能来完成!
set Field1 = Right(Field1, Len(Field1) - 1)
where Left(Field1, 1) = '@'
set 字段名=REPLACE(字段名,'@','')