0

別の変数を使用して変数を参照したいのですが。基本的に私は7つのアドレスフィールド(address1、address2など)を持っており、1から7までのループを作成するために多くのコーディングを節約できます。これが必要な基本的な状況は次のとおりです。

Naddress1 = replace(Naddress1,'.','');
Naddress2 = replace(Naddress2,'.','');
Naddress3 = replace(Naddress3,'.','');
Naddress4 = replace(Naddress4,'.','');
Naddress5 = replace(Naddress5,'.','');
Naddress6 = replace(Naddress6,'.','');
Naddress7 = replace(Naddress7,'.','');
Naddress1 = replace(Naddress1,',',' ');
Naddress2 = replace(Naddress2,',',' ');
Naddress3 = replace(Naddress3,',',' ');
Naddress4 = replace(Naddress4,',',' ');
Naddress5 = replace(Naddress5,',',' ');
Naddress6 = replace(Naddress6,',',' ');
Naddress7 = replace(Naddress7,',',' ');
Naddress1 = replace(Naddress1,'/'',' ');
Naddress2 = replace(Naddress2,'/'',' ');
Naddress3 = replace(Naddress3,'/'',' ');
Naddress4 = replace(Naddress4,'/'',' ');
Naddress5 = replace(Naddress5,'/'',' ');
Naddress6 = replace(Naddress6,'/'',' ');
Naddress7 = replace(Naddress7,'/'',' ');

私が欲しいもの:

DECLARE address_iterator INT;
SET address_iterator = 1;
WHILE address_iterator <= 7 DO
Naddress & address_iterator = replace(Naddress & address_iterator, '.','');
Naddress & address_iterator = replace(Naddress & address_iterator, ',',' ');
Naddress & address_iterator = replace(Naddress & address_iterator, '/'',' ');
END WHILE;
4

1 に答える 1

0

MySQLでは、次のようなことができます-

UPDATE
  table
SET
  address1 = REPLACE(REPLACE(REPLACE(address1, '.', ''), ',',' '), '/',' '),
  address2 = REPLACE(REPLACE(REPLACE(address2, '.', ''), ',',' '), '/',' '),
  address3 = REPLACE(REPLACE(REPLACE(address3, '.', ''), ',',' '), '/',' ');

それ以外の場合は、アプリケーションでこのタスクを自動化する必要があります。

于 2012-09-05T06:58:52.310 に答える