在SQL Server 2008查询中计算之前删除前导单引号

时间:2011-11-21 22:40:07

标签: sql

我需要比较两个不同表中的两个帐号列,看看它们是否匹配。一个表中的帐号具有前导单引号而另一个表中没有。我的问题是,在我的查询中进行比较之前,如何忽略或删除引号?

提前致谢

3 个答案:

答案 0 :(得分:3)

SUBSTRING函数可用于修剪场外的第一个字符,即

SUBSTRING(field1,2)

我会质疑为什么首先用单引号存储该字段。

答案 1 :(得分:1)

如果数据ALL以单引号开头,那么

子字符串会很有意义。请注意,如果某些字段没有, substring()解决方案将无效。您也可以使用

replace(field1,'''','')

但这只有在该字段中只有一个单引号时才有效。

答案 2 :(得分:1)

对于严重过度设计的答案......:)

如果您需要任何类型的性能(就像您在循环中或在大量记录中调用它),您可能需要考虑创建一个函数来规范化输入以删除如果存在,则引用引用(特别是如果您没有外部方式告知是否会有引用引号)。对于像这样的字符串操作,SQL CLR函数通常比在SQL中执行相同的操作快一个数量级。请查看here以获取更多信息。