ホームページ >データベース >mysql チュートリアル >SQL Server クエリで数値の先頭にゼロを埋め込む方法は?

SQL Server クエリで数値の先頭にゼロを埋め込む方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-10 20:47:48346ブラウズ

How to Pad Numbers with Leading Zeros in SQL Server Queries?

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 列の処理:

employeeIdINT 列の場合、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 サイトの他の関連記事を参照してください。

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