ホームページ >データベース >mysql チュートリアル >SQL Server クエリで数値の先頭にゼロを埋め込む方法は?
SQL Server: 数値に先頭のゼロを追加する
従来の SQL Server 2000 データベースでは、従業員バッジ番号に char(6)
を使用し、先行ゼロを含む一貫した形式を保証していました。 ただし、新しい Web アプリケーションでは、効率を向上させるために、これらを整数として保存します。 これにより、データをクエリするときに書式設定の課題が生じます。
SQL クエリで先頭にゼロを付けて整数をフォーマットする方法は次のとおりです。
REPLICATE を使用した解決策:
REPLICATE
関数は、洗練されたソリューションを提供します。
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(employeeId)) + employeeId FROM dbo.RequestItems WHERE ID = 0;</code>
REPLICATE
の「6」を調整して、パディング文字列の合計の長さを制御します。 この例では 6 文字の長さを維持します。
たとえば、employeeId
7135 は「007135」を返します。
INT 列の処理:
employeeId
が INT
列の場合、RTRIM
を使用して VARCHAR
:
<code class="language-sql">SELECT REPLICATE('0', 6 - LEN(RTRIM(employeeId))) + RTRIM(employeeId) FROM dbo.RequestItems WHERE ID = 0;</code>
先頭のゼロの削除:
元の数値 (先頭のゼロなし) を取得するには、RIGHT
関数と PATINDEX
関数を使用します。
<code class="language-sql">SELECT RIGHT(employeeId, (LEN(employeeId) - PATINDEX('%[^0]%', employeeId)) + 1) FROM dbo.RequestItems WHERE ID = 0;</code>
このアプローチは、C# コードと SQL Server クエリの両方で先行ゼロを管理するための堅牢なソリューションを提供し、アプリケーション全体でのデータの一貫性を確保します。
以上がSQL Server クエリで数値の先頭にゼロを埋め込む方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。