- 締切済み
UPDATE文
先頭一文字だけ残して後は同じ文字でUPDATEしたい カラムがあります。 初心者で申し訳ありませんが教えていただきたいと思います。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
UPDATE Table1 SET data = Left(data,1) + REPLICATE('x', Len(Data) -1) これですと、任意の文字列と置換することができます。
本当に鈍くてすみません。例示を見て、やっと判りました。 ちょっと、邪道ですが... UPDATE Table1 SET data = Left(data,1) + str(power(10,len(data)), Len(data)-1,1) 一応、次のような実行結果になります。 |ID|Data | ---|------------- 1| 1|2********| 2| 2|2*** | 3| 3|2****** |
- U40
- ベストアンサー率0% (0/4)
UPDATEだけでなく、カーソルを使いましょう。
s_husky です。 <カレント行のみを更新したい>が主旨で、文字列の合成要領についての質問ではないということですね! それですと、ゴミ回答ですね! やっと、判りました。 まあ、鈍い奴と許して下さい。
|ID|Data | ---|---------------------------- 1| 1|AXXX | 2| 2|1XXX | 3| 3|xXXX | これが実行結果です。 先頭の1文字 A、1、x を除き XXX に置換されます。 仮にならなければ、テスト環境の違いか、私の質問内容の誤解と考えます。そうであれば、無視して下さい。
- O_cyan
- ベストアンサー率59% (745/1260)
>先頭一文字だけ残して後は同じ文字でUPDATEしたい こういう更新はやったことありませんが・・ update テーブル名 set replace(カラム名,substr(カラム名,1,1)+'同じ文字') ; か update テーブル名 set カラム名 = substr(カラム名,1,1)+'同じ文字' ; で行けませんか?
UPDATE TABLE1 SET DATA = LEFT(DATA,1) + 'xxx' WHERE文は適当に! (SQL Server 2000)
補足
質問の仕方が良くなかったです。 上記だと、全部のデータが'×××'になるかと思います。 現在あるデータの先頭一文字以外が、'×××'に置き換わるようにしたいという質問内容でした。
補足
1|AAAAAAA | 2|BBBB | 3|CC | こういうデータがあったとしたら、 UPDATE後、 1|A****** | 2|B*** | 3|C* | となるイメージです。 言葉が足りませんでした。すみません・・。