我需要找到数据库中以&00; 0000'结尾的所有邮政编码。使用以下查询,我能够返回长度为9位的所有邮政编码。但是,如何添加返回仅返回长度为9位且具有0000的邮政编码?我确信它很简单,但我仍然很难查询。 :)
示例:922340000
Select Addresszipcode
from dbo.CR_MEMBER_AllMemberDetails
where len(Addresszipcode) = 9
答案 0 :(得分:4)
Select Addresszipcode
from dbo.CR_MEMBER_AllMemberDetails
where len(Addresszipcode) = 9
and Addresszipcode like '%0000'
答案 1 :(得分:4)
SELECT Addresszipcode
FROM dbo.CR_MEMBER_AllMemberDetails
WHERE LEN(AddressZipCode)= 9 AND RIGHT(AddressZipCode, 4) = '0000'
答案 2 :(得分:0)
您需要结合使用LEN() function和LIKE operator。
SELECT Addresszipcode FROM dbo.CR_MEMBER_AllMemberDetails
WHERE LEN(AddressZipCode)=9 AND AddressZipCode LIKE '%0000'
LEN(AddressZipCode)
子句的WHERE
部分只返回长度为9
的行。 AddressZipCode LIKE '%0000'
只会返回以0000
结尾的行。使用LIKE
运算符时,百分号%
充当通配符。从本质上讲,你说" WHERE AddressZipCode从任何东西开始,以0000"结束。
修改强>
在回复你的评论时,这里是修剪0&#39的SQL:
SELECT CASE WHEN LEN(AddressZipCode)=9 AND AddressZipCode LIKE '%0000'
THEN LEFT(AddressZipCode,5) ELSE AddressZipCode END AS AddressZipCode