标签: sql
我需要比较两个不同表中的两个帐号列,看看它们是否匹配。一个表中的帐号具有前导单引号而另一个表中没有。我的问题是,在我的查询中进行比较之前,如何忽略或删除引号?
提前致谢
答案 0 :(得分:3)
SUBSTRING函数可用于修剪场外的第一个字符,即
SUBSTRING(field1,2)
我会质疑为什么首先用单引号存储该字段。
答案 1 :(得分:1)
子字符串会很有意义。请注意,如果某些字段没有, substring()解决方案将无效。您也可以使用
replace(field1,'''','')
但这只有在该字段中只有一个单引号时才有效。
答案 2 :(得分:1)
对于严重过度设计的答案......:)
如果您需要任何类型的性能(就像您在循环中或在大量记录中调用它),您可能需要考虑创建一个函数来规范化输入以删除如果存在,则引用引用(特别是如果您没有外部方式告知是否会有引用引号)。对于像这样的字符串操作,SQL CLR函数通常比在SQL中执行相同的操作快一个数量级。请查看here以获取更多信息。