1

こんにちは、これは私の最初の投稿であり、私は SQL にかなり慣れていません。本当に私が見つけようとしているのは、フィールドの一部に基づいて更新を行うことができる MID$ に相当するものです。

    UPDATE OurTable
 SET UpdateField='Text-2008-001-old'
  WHERE '2008' like ('%' || UpdateField) AND KeyField='1'

言い換えれば、フィールドが現在「Line-2008-000-000」である可能性がある「Text-2008-001-old」に更新したい

2008 の位置は既存のデータ内で変更されないため、KeyField が「1」である 2008 を含むフィールドを更新する必要があります。

まだ見つけていない SQL 構文の優れたオンライン リソースがある場合は、お気軽にそこを教えてください。

この問題について説明できたことを願っています。すべての提案に感謝します。

4

3 に答える 3

1

LIKEを使用するだけでよいと思います:

UPDATE OurTable
SET UpdateField='Text-2008-001-old'
WHERE UpdateField LIKE '%2008%' AND KeyField='1'

または、その周りに常にダッシュがある場合は、おそらくLIKE '%-2008-%'より良いでしょう.

幸運を。

于 2013-02-06T19:36:54.203 に答える
0

LIKE演算子で使用するワイルドカードは多数あります(%、_、[]、[^]など)。ここで説明します:http://msdn.microsoft.com/en-us/library/ms179859。 aspx

substring()関数もあります-ここで説明されています:http://msdn.microsoft.com/en-us/library/ms187748.aspx、これは他の言語のMID関数のようなものです。(WHERE ... LIKE SUBSTRING(...))

于 2013-02-06T19:50:32.387 に答える
0

UPDATE OurTable SET UpdateField='Text-2008-001-old' WHERE UpdateField like 'Line-2008%' AND KeyField='1'

于 2013-02-06T19:38:32.850 に答える