SQL:正确识别并纠正(如果可能)数据库中的名称
我有一个庞大的姓名数据库,我希望能够识别出不正确的大小写。 现在我正在使用以下内容......
SELECT *
FROM myTable
WHERE LastName LIKE '%Mcd%' COLLATE SQL_Latin1_General_Cp1_CS_AS
现在当然这是低效的,因为我必须针对不同的情况一遍又一遍地运行/编辑它。我的想法是找到一个可能会出现问题的名称案例列表,然后执行 LIKE IN ('case1','case2','case3','case4', ...)
如果可能的话。还有其他我没有想到的方法吗?
我想我必须检查的其他情况包括缩写 (%.%)、连字符 (%-%) 和撇号 (%'%)。
I have a large database of names, and I'm hoping to identify incorrect capitalization.
Right now I'm using the following...
SELECT *
FROM myTable
WHERE LastName LIKE '%Mcd%' COLLATE SQL_Latin1_General_Cp1_CS_AS
Now of course this is inefficent because I have to run/edit this over and over for different cases. My thinking is find a list of name cases that would provide possible problems, and do
LIKE IN ('case1','case2','case3','case4', ...)
if that's possible. Is there another way that I'm not thinking of?
Other cases I'm thinking I'll have to check are abbreviations (%.%), hypens (%-%), and apostrophes (%'%).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
Or
来避免多次扫描
myTable
。为了避免多次处理字符串,您可以使用 CLR 和正则表达式。
You could use
Or
To avoid needing to scan
myTable
multiple times.To avoid processing the string multiple times you could use CLR and Regular Expressions.