ホームページ > データベース > mysql チュートリアル > 区切り文字が欠落している T-SQL の文字列を分割するにはどうすればよいですか?

区切り文字が欠落している T-SQL の文字列を分割するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-08 09:31:41
オリジナル
654 人が閲覧しました

How to Split Strings in T-SQL with Missing Delimiters?

T-SQL での区切り文字ベースの文字列分割、欠落している区切り文字の処理

T-SQL では、特定の区切り文字が常に存在するわけではない場合でも、特定の区切り文字に基づいて文字列を分割する必要がある場合があります。このタスクは通常、SUBSTRING 関数を使用して実行されます。ただし、質問で提供されているコードは、行に予期される区切り文字がない場合に失敗します。

この問題を解決するには、次の変更コードを検討してください:

<code class="language-sql">SELECT 
    CASE 
        WHEN CHARINDEX('/', myColumn) = 0 THEN myColumn
        ELSE SUBSTRING(myColumn, 1, CHARINDEX('/', myColumn) - 1)
    END AS FirstName,
    CASE 
        WHEN CHARINDEX('/', myColumn) = 0 THEN NULL
        ELSE SUBSTRING(myColumn, CHARINDEX('/', myColumn) + 1, LEN(myColumn))
    END AS LastName
FROM MyTable;</code>
ログイン後にコピー

このコードでは、CASE ステートメントを使用して、FirstName 列と LastName 列の部分文字列の開始位置と終了位置を決定します。 FirstName 列の開始位置は、文字列の先頭 (区切り文字が見つからない場合)、または区切り文字の前の文字に設定されます。同様に、FirstName 列の終了位置は、文字列の末尾または区切り文字の前の文字に設定されます。

このメソッドにより、コードは、予期される区切り文字を含む行と予期される区切り文字を持たない行を、エラーを生成することなく処理できるようになります。結果の出力では、区切り文字のない行であっても、欠落している値が NULL として表示される場合でも、必要な FirstName と LastName の値が提供されます。 これは元のコードよりも簡潔かつ効率的で、欠落している区切り文字をより明確に処理します。

以上が区切り文字が欠落している T-SQL の文字列を分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート