如何去除一个字段中的字母只保留数字(100分)

  • 主题发起人 主题发起人 lucky_qiu
  • 开始时间 开始时间
L

lucky_qiu

Unregistered / Unconfirmed
GUEST, unregistred user!
如题:如何去除一个字段中的字母只保留数字
字段1 字段2
A00015 00015
5B0003 50003
334TR1 3341
4B456T 4456
-------------------------
我要将 字段1 update 成 字段2
请各位帮帮忙
 
1.读出来;
2.循环数据的每一个字符,删除非数字的字符;
3.保存回去。
 
update table1 set field1= replace(field1,'a','')
update table1 set field1= replace(field1,'b','')
......
update table1 set field1= replace(field1,'z','')
 
update tablename set field1=field2 这是最苯的方法,可以把字把转为数字,转化为字符串,循环读出来后大于9的就exit
 
////////整理函数
function nsort( s: string): string;
var
i: integer;
begin
for i:=Length(S) downto 1 do
if S in ['0'..'9'] then
Result := Result + S;
end;
/////////////使用实例
procedure TForm1.Button1Click(Sender: TObject);
var
Str :string;
begin
Str := nsort('4B456T');
if Str <> '' then
showmessage(Str);
end;
 
update table1 set field1= replace(field1,'a','')
......
update table1 set field1= replace(field1,'z','')
 
来自:李翔鹏, 时间:2008-4-26 20:39:30, ID:3889169
update table1 set field1= replace(field1,'a','')
update table1 set field1= replace(field1,'b','')
......
update table1 set field1= replace(field1,'z','')



赞一个,学习了,lz测试看是否可行。

其它人就不用给分了。
 
如果只是简单把字段1变成字段2,没那么复杂吧,
update table set field1=field2;也不是要对调是吗?
 
多谢各位了
李翔鹏和nanshan的方法我最初也想过
但用"update table1 set field1= replace(field1,'a','')"
这个方法要update26次,虽麻烦但起码可行
nanshan方法,如果是处理字符串还可以
-------------------------------------
我发问是想知道有没有其它方便的方法
-------------------------------------
看来我要在SQLSERVER里自定义一个函数了
-------------------------------------
多谢各位的帮忙!!!!!!!
分数嘛,我从来都是人人有份的.
 
后退
顶部