【发布时间】:2013-12-23 16:14:39
【问题描述】:
我正在尝试将 city/state/zip 字段分为城市、州和邮政编码。通常我会使用charindex 或',' 来获取城市和州,并使用isnumeric 和right() 来获取zip。
这适用于 zip,但我正在使用的数据中的大多数行现在都没有逗号 City ST Zip。有没有办法识别两个大写字符的索引?
如果没有,除了单独检查每个状态的 case 语句之外,有没有人有更好的主意?
编辑:我发现 PATINDEX/COLLATE 选项的工作相当间歇。请参阅下面的答案。
【问题讨论】:
-
有关您编写的代码问题的问题必须在问题本身中描述具体问题 - 并包括重现问题的有效代码。
-
你不能用
PATINDEX('[A-Z][A-Z]', [column_to_search]) -
@FreshPrinceOfSO 他没有说他写的代码有问题,他说他不知道如何完成他想做的事情。我认为“通常我会这样做”表明他自己对此进行了一些思考,但没有包含此类代码,因为这显然不是解决方案,并且可能会误导问题。
-
@AaronLS 至少需要展示一个具有预期结果的样本。
-
@Pat 默认情况下,您可以强制排序但无法使其正常工作 -
COLLATE SQL_Latin1_General_CP1_CS_AS
标签: sql sql-server collation string-parsing