1

次のようなクエリがあります。

DECLARE @value decimal(8,0) = 1

SELECT (CAST @value AS varchar(8)) 

00000001, 00000023, 00000623先行ゼロ (など)でフォーマットされた出力を取得するにはどうすればよいですか? どうやってやるの?

.Net や Java では簡単な作業ですが、ビュー内で行う必要があります。

4

5 に答える 5

2

これを試して

SELECT RIGHT('00000000' + CAST (@value AS varchar(8)),8)
于 2012-11-28T09:07:08.313 に答える
2

これはうまくいくはずです:

DECLARE @value decimal(8,0) = 1

SELECT RIGHT('0000000' + CAST(@value AS varchar(8)), 8)
于 2012-11-28T09:09:16.280 に答える
2

これを試して:

declare @value varchar(8)='623';
Select ltrim(right(replicate(0,8) + CAST (@value AS varchar(8)),8)) 

SQL フィドルのデモ

于 2012-11-28T09:09:32.887 に答える
1

REPLICATE次のように、とを使用RIGHTしてこれを行うことができます。

SELECT RIGHT(REPLICATE('0', 8) + CAST(@valueAS VARCHAR(8)), 8)

ライブデモ

于 2012-11-28T09:09:38.080 に答える
1

これを試して:

DECLARE @value decimal(8,0) = 1
SELECT REPLICATE('0',8-len(@value))+CAST(@value AS varchar(8))
于 2012-11-28T09:10:39.470 に答える