oracleのデータをUPDATEする際に

$FORM{’MOBILE_TEL_NO’} =~ s/ //g;
または$FORM{’MOBILE_TEL_NO’} =~ s/ /NULL/g;としてはで置換をしてまったくのブランクにしたいのですが半角スペースが入ってしまいます。どうしたらいいのでしょうか??

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/12/07 12:52:35
  • 終了:--

回答(1件)

id:andi No.1

andi回答回数448ベストアンサー獲得回数02005/12/07 13:28:14

ポイント40pt

> $FORM{’MOBILE_TEL_NO’} =~ s/ //g;


次の条件が整っていればNULLとなるはずです。

1.$FORM{’MOBILE_TEL_NO’}には半角スペース以外のデータは含まれない

2.発行されるUPDATE文の形式はUPDATE テーブル名 SET カラム名 = ’$FORM{’MOBILE_TEL_NO’}’である(セットされる値が’’で括られている)


> $FORM{’MOBILE_TEL_NO’} =~ s/ /NULL/g;


この変換では次の欠点があります。

1.半角スペースが複数存在する場合、NULLNULLNULLNULL等に変換される。

2.UPDATE文がUPDATA テーブル名 SET カラム名 = ’$FORM{’MOBILE_TEL_NO’}’の形式の場合、’NULL’(文字列としての’NULL’が出力される)

id:tech1

ありがとうございます

2005/12/07 14:51:58

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません