2017-08-30 90 views
1

所以我有SQL文本额外撇号

CASE WHEN LOWER([F16]) = '[email protected]' THEN 'Matt' 
     WHEN LOWER([F16]) = '''[email protected]' THEN 'Matt' 

的这个块什么是我们这个值检查两次?是不是因为我的SSIS软件包将excel书中的值转储到了tbl,我们试图穿过有时出类拔萃的随机字符?

我的问题是“为什么第二'WHEN'里面有额外的撇号?”

+0

我们应该怎么知道你的SQL为什么要检查两次?你看过你的数据,看看为什么这是必要的吗? –

+0

@KenWhite我会认为我的问题很清楚,但是我已经编辑过,所以更清楚。 –

回答

2

如果您的数据是从Excel中导入的,则可能会出现该检查以允许在查看工作簿时不可见的前导滴答。

Excel将单引号解释为文本字段的标记。如果输入的文本会被解释为某种其他类型,则添加单引号可防止Excel推断该类型。

但是,此引用仍然是单元格中数据的一部分。解释可能包含引号的数据需要为其添加明确的处理。

+0

谢谢,那就是我在想什么,但很高兴能得到证实 –