本文介绍了将零连接到 sql server 选择值仍然显示 4 位而不是 5的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的邮政编码在导入时从 excel 文件中没有为零.所以我做了一个选择,以便将 0 连接到每 4 位邮政编码的前面.
I have zip codes that on import didn't have zero from excel file. So I was doing a select in order to concatenate 0 to front of every 4 digit zip code.
我正在尝试这个,但它仍然吐出 4 个数字
I was trying this, but it still spits out 4 digits
(0 + [ZIP]) as 'fullzip'
ZIP 是 db 表中的浮点数
ZIP is a float in db table
我的完整sql
SELECT
TOP 1000
[ZIP]
,(0 + [ZIP]) as 'fullzip'
,[ZIP_Name]
,[ZIP_CountyFIPS]
,[ZIP_County]
,[ZIP_State]
,[Utility_Name]
,[Holding_Company]
,[Utility_ID]
,[GAS_LDC_Type]
,[ELEC_Non_IOU_Type]
,[Percent_of_Overlap]
,[Utility_Territory_Type]
FROM
cc.dbo.ServiceableZipCodes
WHERE
Len( [ZIP] ) = 4
推荐答案
如果 zip 是浮点数,我会转换为 char,然后做字符串数学.
If zip is a float, I'd convert to char, then do the string math.
RIGHT( '00000' + CONVERT(varchar(5),ZIP), 5)
不假设最小值4 位数字.
Doesn't assume minimum values of 4 digits.
这篇关于将零连接到 sql server 选择值仍然显示 4 位而不是 5的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!