- PR -

update文

1
投稿者投稿内容
PG初心者
会議室デビュー日: 2007/01/05
投稿数: 10
投稿日時: 2007-03-01 16:57
大量のデータの、カラム(例えば日付(day)20070228)の、年だけ(2007)を2008にupdateしたい
場合はどのようなupdate文を書けばよいでしょうか。
カラム、日付はキー項目で、連番になっています。条件も必要です。

下記のようなupdate文を書いたのですが、エラーがでました。
update
SampleDB
set
substring(day, 1, 4)='2008'
where day>='20070127' and day<='20070227'


メッセージ 102、レベル 15、状態 1、行 4
',' 付近に不適切な構文があります。

よろしくお願いします。
taku
ぬし
会議室デビュー日: 2002/11/12
投稿数: 918
お住まい・勤務地: 墨田区→中野区
投稿日時: 2007-03-01 17:08
 UPDATEは列に対して行うものです。
SQL文の基礎を勉強してください。
会社の先輩に教わってないのですか?
まあ、私は全て独学なので他人様から教えてもらったことって無いですが。
忠犬
大ベテラン
会議室デビュー日: 2006/05/01
投稿数: 109
投稿日時: 2007-03-01 17:21
RDBMSは何でしょうか?
RDBMSにより、関数名や文字連結の方法が違ってきます。

大量のデータって、何件くらいですか?
1万件未満くらいならともかく、10万件、50万件といった数なら、SQLでやってよいかを
十分検討してください。

SQL例ですが、文字連結の方法が「+」だとすれば、以下のようになります。

コード:
update SampleDB 
 set day='2008'+substring(day, 5, 4) 
 where day>='20070127' and day<='20070227' 

PG初心者
会議室デビュー日: 2007/01/05
投稿数: 10
投稿日時: 2007-03-01 19:55
解決しました!ありがとうございます!!
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2007-03-01 23:27
引用:

takuさんの書き込み (2007-03-01 17:08) より:
 UPDATEは列に対して行うものです。
SQL文の基礎を勉強してください。
会社の先輩に教わってないのですか?
まあ、私は全て独学なので他人様から教えてもらったことって無いですが。


まあ、私は全て独学なので他人様から教えてもらったことって無いですが。
まあ、私は全て独学なので他人様から教えてもらったことって無いですが。
まあ、私は全て独学なので他人様から教えてもらったことって無いですが。
1

スキルアップ/キャリアアップ(JOB@IT)