Sql server 2012 仅限邮政编码后缀结果
我需要帮助创建一个查询,结果将只与邮政编码后缀。有些有4位数的扩展名,有些没有…我只需要那些扩展名的后缀,而不是整个邮政编码 示例:66227-4567-我正在尝试获取“4567” 我尝试过,但没有成功Sql server 2012 仅限邮政编码后缀结果,sql-server-2012,Sql Server 2012,我需要帮助创建一个查询,结果将只与邮政编码后缀。有些有4位数的扩展名,有些没有…我只需要那些扩展名的后缀,而不是整个邮政编码 示例:66227-4567-我正在尝试获取“4567” 我尝试过,但没有成功 案例陈述 计数-不知道为什么,但我想我会试试 对(zipcode,4)-但这不包括邮政编码 没有后缀的 我现在没有主意了,需要一些帮助看看这是否有帮助: declare @Tab Table ( Col nvarchar(100)) Insert into @Tab values ('6
- 案例陈述
- 计数-不知道为什么,但我想我会试试
- 对(zipcode,4)-但这不包括邮政编码 没有后缀的
declare @Tab Table ( Col nvarchar(100))
Insert into @Tab values ('66227-4567')
Insert into @Tab values ('66227-45')
Insert into @Tab values ('66227-4')
Insert into @Tab values ('66227-')
Insert into @Tab values ('66227')
Insert into @Tab values ('66227-456712345')
Insert into @Tab values ('66227- ')
Insert into @Tab values ('')
Select NULLIF(LTRIM(RTRIM(SUBSTRING(Col, NULLIF(CHARINDEX('-', Col),0)+1, LEN(Col)))),'') from @Tab
看看这是否有帮助:
declare @Tab Table ( Col nvarchar(100))
Insert into @Tab values ('66227-4567')
Insert into @Tab values ('66227-45')
Insert into @Tab values ('66227-4')
Insert into @Tab values ('66227-')
Insert into @Tab values ('66227')
Insert into @Tab values ('66227-456712345')
Insert into @Tab values ('66227- ')
Insert into @Tab values ('')
Select NULLIF(LTRIM(RTRIM(SUBSTRING(Col, NULLIF(CHARINDEX('-', Col),0)+1, LEN(Col)))),'') from @Tab
我能想到的最简单的方法就是
SELECT ZipCode FROM MyTable
WHERE ZipCode LIKE '%-____'
我能想到的最简单的方法就是
SELECT ZipCode FROM MyTable
WHERE ZipCode LIKE '%-____'
当charindex('-',col)>0,然后right(col,4)else''结束时,您使用right(ZIPCODE,4)
在正确的轨道上。询问ZIPCODE的长度,如果它大于6个字符(这将考虑zip可能为“12345-”的情况),然后应用RIGHT
函数。有趣的是,结尾的4位数字是从zipcode的+4部分剔除的。非常酷!非常感谢Kris当charindex('-',col)>0然后right(col,4)否则“结束时”
您使用right(ZIPCODE,4)
走上了正确的轨道。询问ZIPCODE的长度,如果它大于6个字符(这将考虑zip可能为“12345-”的情况),然后应用RIGHT
函数。有趣的是,结尾的4位数字是从zipcode的+4部分剔除的。非常酷!非常感谢克里斯