- 締切済み
Accessでの文字の置換のクエリについて
Accessについて教えて下さい。 SQLデータベースをODBCを使用して、Accessにてリンクしています。 テーブルのあるフィールドに顧客名が並んでいます。 頭の一文字を○に置換するには、どのようなクエリを組めばいいのでしょうか? 山田 太郎⇒○田 太郎 田中 一郎⇒○中 一郎 佐藤 花子⇒○藤 花子 また、間にスペースが入っている後の文字(名)の置換の方法も教えて下さい。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- tazukadan
- ベストアンサー率68% (15/22)
SQL Server に接続してるものとしてお答えします。 UPDATE テーブル SET [名前] = LEFT('○' + RIGHT([名前],LEN([名前])-1),CHARINDEX(' ',[名前])) + '▲' + RIGHT([名前],LEN([名前]) - (CHARINDEX(' ',[名前]) + 1)) 山田 太郎 を ○田 ▲郎 に変更します。 初めのスペースを氏と名の区切りと考えています。 一発で上書きしますので、念のためテーブルのバックアップをとっておいて下さい。
- howarage
- ベストアンサー率20% (2/10)
名前が[名前]フィールドにはいっているなら、 伏字名:"○" & Right( [名前], Len([名前]) - 1 ) ファーストネームのほうは難しいですね!必ず全角スペースがひとつだけ入っていると仮定すると、 InStr([名前]," ") で、スペースの位置が決まりますので、最初のやりかたと同じように、Left,Right,Midを駆使します。 ファーストネームの一文字目だけを○に変えるなら 伏字名2: Left( [名前], InStr([名前]," ") ) & "○" & Right( [名前], Len( [名前] ) - InStr( [名前], " ") -1 ) です。 どっちも伏字は自分で考えてみてくださいね^^
Access のSQL文なら MID関数を!
UPDATE Customer Set KName='○' + SUBSTRING(KName, 2, 100) >間にスペースが入っている後の文字(名)の置換。 具体例が明示されていないので割愛!