我正在运行SQL Server Express 我有一列邮政编码为12345的邮政编码 我需要在第三个数字之后加一个空格,例如123 45
答案 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