質問

私は 1 つの列に 2 つのデータ型が含まれるデータベースに座っています ;)

"1";"When the Wind Blows   0275";"James Patterson "
"4";"The Reluctant Fundamentalist      1026";"Mohsin Hamid";

ユーザーは、この方法で簡単に検索できると考えました...

現在、タイトルフィールドからIDを取り出して独自の列に入れて、これを修正しようとしています。

タイトルの末尾の 4 桁の数字のみを取得するには、正規表現を使用してタイトルを選択するにはどうすればよいですか?その番号はゼロで始まる場合があり、タイトルには 4 桁以外の桁が含まれる場合があります。

また、数字がタイトルの最後の 4 文字であるという保証はありません。場合によっては、その後にスペースが続くことがあります。 SUBSTRING この場合は機能しません

手伝ってくれてありがとう!

役に立ちましたか?

解決

抽出する必要がある 4 桁の数字が文字列の最後にある場合、またはその後にスペースだけが続く場合は、おそらく次のコマンドを使用してそれらを抽出するのが最も簡単でしょう。 RIGHT() を使用して末尾のスペースを削除した後の関数 RTRIM() 関数:

SELECT
  RIGHT(RTRIM(YourColumnName), 4) AS SomeCode
FROM
  YourTableName
WHERE
  ...
;
ライセンス: CC-BY-SA帰属
所属していません dba.stackexchange
scroll top