通过反斜杠在SQL Server中拆分数字

时间:2013-11-04 03:16:32

标签: sql-server

如何使用/后3个数字在sql server中拆分10000之类的数字。

所以输出应该像

 `100/00`

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

它仍然需要CASE如下:

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

否则它将返回NULL,LEN(@number)< = 3。 顺便说一句,这是一个斜杠而不是反斜杠。