[解決済み] SQL Serverで先頭のゼロをパディングして数字をフォーマットする
2022-06-01 22:08:09
質問
私たちは、SQL Server 2000 で 10 年近く使用された古い SQL テーブルを持っています。
その中で、私たちの従業員バッジの番号は、次のように格納されています。
char(6)
から
000001
から
999999
.
私は今Webアプリケーションを書いているのですが、従業員のバッジ番号を保存する必要があります。
新しいテーブルでは、ショートカットで古いテーブルをコピーすることができましたが、単純に
int
の値を
1
から
999999
.
C#では、素早く書式設定できる
int
を使用してバッジ番号の値を素早くフォーマットすることができます。
public static string GetBadgeString(int badgeNum) {
return string.Format("{0:000000}", badgeNum);
// alternate
// return string.Format("{0:d6}", badgeNum);
}
この単純なSQLクエリを修正して、返される値もフォーマットするにはどうしたらよいでしょうか。
SELECT EmployeeID
FROM dbo.RequestItems
WHERE ID=0
もし
EmployeeID
が 7135 の場合、このクエリは
007135
.
どのように解決するのですか?
6の数字を、必要な長さに変更してください。
SELECT REPLICATE('0',6-LEN(EmployeeId)) + EmployeeId
カラムがINTの場合、RTRIMを使用して暗黙のうちにVARCHARに変換することができます。
SELECT REPLICATE('0',6-LEN(RTRIM(EmployeeId))) + RTRIM(EmployeeId)
そして、これらの0を取り除き、「本当の」数を取り戻すためのコードです。
SELECT RIGHT(EmployeeId,(LEN(EmployeeId) - PATINDEX('%[^0]%',EmployeeId)) + 1)
関連
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] SQL Server テーブルにカラムが存在するかどうかを確認する方法は?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] SQL ServerにおけるLEFT JOINとLEFT OUTER JOINの比較
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] SQL Server - 挿入された行のIDを取得するための最良の方法は?
-
[解決済み] 先頭のゼロを含む表示番号
-
[解決済み] SQL Serverで、ある日付より大きいすべての日付を照会するにはどうすればよいですか?
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
解決策:java.sql.SQLException: ユーザー ''@'localhost'' (パスワード: YES を使用) のアクセスが拒否されました。
-
windows mysql prompt access denied for user ''@'localhost' to database.
-
[解決済み] Oracleで上位100行を選択する方法は?
-
[解決済み] SQL Server : 列を行に変換する
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] カラム名の変更 SQL Server 2008
-
[解決済み] ある列の最大値を持つ行を取得する
-
[解決済み] SQL Server 2008で、文字列の先頭のゼロをパッドして3文字にする
-
[解決済み] SQLサーバーで行を列に効率的に変換する
-
[解決済み] Entity Framework VS LINQ to SQL VS ADO.NETでストアドプロシージャを使う?[クローズド]