0

SQL Server で 10000 のような数字を / の後に 3 つの数字で分割する方法。

したがって、出力は次のようになります

 `100/00`
4

2 に答える 2

0

次のように、引き続き CASE が必要です。

SELECT CASE WHEN LEN (@number) > 3 THEN STUFF(@number, 4, 0, '/') ELSE CONVERT (VARCHAR, @number) END;

それ以外の場合は、LEN (@number) <= 3 で NULL を返します。ちなみに、これはバックスラッシュではなくスラッシュです。

于 2013-11-04T03:57:49.287 に答える
0

以下のクエリを使用できます。分割数を返すために少なくとも 3 桁があるかどうかを確認するか、そうでない場合はそのままの数を返します (自由に微調整してください)。

declare @number as int = 1000
select case
    when LEN(cast(@number as varchar(100))) > 3 then SUBSTRING(cast(@number as varchar(100)), 1, 3) + '/' + SUBSTRING(cast(@number as varchar(100)), 4, LEN(cast(@number as varchar(100))) - 3)
    else cast(@number as varchar(100))
end
于 2013-11-04T03:22:27.563 に答える