ホームページ >データベース >mysql チュートリアル >SQL Server で先頭にゼロを付けて整数値をフォーマットするにはどうすればよいですか?

SQL Server で先頭にゼロを付けて整数値をフォーマットするにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-10 20:37:44948ブラウズ

How to Format Integer Values with Leading Zeros in SQL Server?

SQL Server で先頭にゼロを付けた数値の書式設定

SQL Server では、表示やデータ転送の効率を向上させるために、数値の先頭にゼロを付けて書式設定する必要がある場合があります。具体的な例でこれに対処しましょう:

質問:

長さ 6 文字の文字列 (たとえば、「000001」から「999999」) として保存された従業員番号を含む SQL テーブルがあります。データ処理を改善するために、ジョブ番号が整数である新しいテーブルを作成したいと考えています。返される整数値を「000000」(先頭にゼロを付ける) としてフォーマットするには、SQL クエリを変更するにはどうすればよいですか?

答え:

このフォーマットを実現するには、REPLICATE() 関数と LEN() 関数を利用できます。

<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(EmployeeID)) + EmployeeID</code>

その仕組みは次のとおりです:

  • REPLICATE('0', 6 - LEN(EmployeeID)) 長さが 6 から EmployeeID の長さを引いたものに等しいゼロ文字列を作成します。
  • このゼロ文字列は、演算子を使用して EmployeeID と連結され、先頭にゼロが付いた書式設定された文字列が生成されます。

たとえば、EmployeeID が 7135 の場合、クエリは「007135」を返します。

注:

  • EmployeeID 列が INT として宣言されている場合は、RTRIM() 関数を使用して暗黙的に VARCHAR に変換できます。
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(RTRIM(EmployeeID))) + RTRIM(EmployeeID)</code>
  • 先頭のゼロを削除して元の数値を取得するには、次のクエリを使用します:
<code class="language-sql">SELECT RIGHT(EmployeeID, (LEN(EmployeeID) - PATINDEX('%[^0]%', EmployeeID)) + 1)</code>

以上がSQL Server で先頭にゼロを付けて整数値をフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。