在3个字符后插入空格(SQL Express)

时间:2019-01-22 08:40:28

标签: sql sql-server-express

我正在运行SQL Server Express 我有一列邮政编码为12345的邮政编码 我需要在第三个数字之后加一个空格,例如123 45

4 个答案:

答案 0 :(得分:3)

只需使用FORMAT()函数

SELECT format(12345,'### ##') AS ZIP

将产生123 45

SELECT format(5, '000 00')

将产生000 05

如果您想将0用作占位符,请在格式字符串中将#替换为0

答案 1 :(得分:0)

几个选项:

DECLARE @Val VARCHAR(10) = '12345'

SELECT  @Val
,       STUFF(@Val, 4, 0, ' ')
,       CONCAT(LEFT(@Val, 3), ' ', RIGHT(@Val, 2))
,       FORMAT(CONVERT(INT, @Val),'### ##')

答案 2 :(得分:0)

这会做到

CREATE TABLE #TBL (Zipcode varchar(50))
INSERT INTO #TBL VALUES ('12345')

SELECT 
Zipcode,
LEFT(Zipcode,3)+' '+RIGHT(Zipcode,LEN(Zipcode)-LEN(LEFT(Zipcode,3))) AS NewzipCode

FROM #TBL;

DROP TABLE #TBL

答案 3 :(得分:0)

这行得通。

选择*     ,案件         当dbo.test.zip喜欢'[0-9] [0-9] [0-9] [0-9] [0-9]'时,则LEFT(dbo.test.zip,3)+''+ RIGHT (dbo.test.zip,2)         ELSE dbo.test.zip         结束 来自test.zip