私は、アドレスを正規化する関数を持っています。私が今やりたいのは、文字列の最後にある限定された指定されたリスト内の文字列を削除することです。削除したい文字列が 'st'、 'ave'、 'rd'、 'dr'、 'ct' ...これらの文字列のいずれかで終わる場合、それらを削除したいとします。これを達成する最良の方法は、T-SQLを使用することです(これはではなく、はselectステートメントの一部です)。文字列の最後で部分文字列を削除する最も簡単な方法は何ですか?
編集:
これは、1つのアドレスとフォーマット、それを受け入れる機能です。私はコードとリストをインライン化したいと思いますが、可能な限りシンプルな方法で行います。たとえば、私が演奏しているコードは次のとおりです。
if @address LIKE '%st'
SET @address = substring(@address, 1, PatIndex('%st', @address) - 1)
これは良い方法ですか?どのように私は別の値(st以外)でこのコードを繰り返すことができるように何らかのループでそれを置くことができますか?値を追加する
ものになるだろう...何の「アドレス」の表は、 – froadie
@froadieはありませんが、I関数で使用される概念を変更しました。 'Streetst'文字列は入力変数に置き換えられます。この解決策は* 1つの*エンディングだけを削除することを覚えておいてください。 –
私はこのコードを使用しようとすると、「近くにキーワード 'の近くに構文がありません」というメッセージが表示されます。また、 "with q ..."コードを使って何をしようとしているのか説明できますか?私は実際にこのような構文を見ていないし、それが何をしているのか理解していない... – froadie