ホームページ > データベース > mysql チュートリアル > SQL Server 列から先頭のゼロを効率的に削除するにはどうすればよいですか?

SQL Server 列から先頭のゼロを効率的に削除するにはどうすればよいですか?

DDD
リリース: 2025-01-10 08:23:44
オリジナル
389 人が閲覧しました

How Can I Efficiently Trim Leading Zeros from SQL Server Columns?

SQL Server での先頭ゼロの削除を最適化するためのヒント

SQL Server の列から先頭のゼロを削除する従来の方法は、SUBSTRING 関数と PATINDEX 関数を組み合わせて使用​​することです。ただし、この方法では、「0」文字のみを含む列を処理する場合に問題が発生する可能性があります。

この制限を回避するためのより堅牢な解決策は、チェック対象の文字列の末尾にピリオド (.) を追加することです。

<code class="language-sql">SUBSTRING(str_col, PATINDEX('%[^0]%', str_col+'.'), LEN(str_col))</code>
ログイン後にコピー

この期間により、PATINDEX は先頭にゼロしかない列であっても、常に「0」以外の文字の一致を見つけることができます。

もう 1 つの方法は、TRIM 関数と REPLACE 関数を使用することです:

<code class="language-sql">REPLACE(LTRIM(REPLACE(str_col, '0', ' ')), ' ', '0')</code>
ログイン後にコピー

ただし、この方法では埋め込みスペースを扱う場合には注意が必要です。スペースが「0」に変換されないようにするには、カスタムのスカラー ユーザー定義関数 (UDF) を使用できます。スカラー UDF は SQL Server 2005 でパフォーマンスの問題を引き起こす可能性があるため、可能な場合は他の方法を検討することをお勧めします。

以上がSQL Server 列から先頭のゼロを効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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