sas proc sql转义'(撇号)

时间:2018-07-10 07:26:15

标签: sql sas

使用proc sql时是否可以在标签中加上撇号?

proc sql;
    create table palim
    as select palim label='palim's palim'
    from palim;
quit;

这是行不通的,因为sas认为撇号是标签的结尾。

我无法使其与escape sas community question

一起使用

此问题专门针对proc sql,因为在这里无法使用双引号。

2 个答案:

答案 0 :(得分:1)

要么切换到使用双引号字符"来引用字符串文字,以使字符串中不包含外部使用的字符。

label="palim's palim"

或将与外部使用的字符匹配的所有嵌入式引号字符加倍。

label='palim''s palim'

您可以使用单引号或双引号字符来引用SAS中的字符串文字。它们在PROC SQL中不起作用的唯一原因是,如果您在dquote=ansi语句中添加了proc sql选项。然后,双引号内的值将解释为名称,而不是字符串文字。

答案 1 :(得分:0)

使用%转义单引号。

proc sql;
    create table palim
    as select palim label='palim%'s palim'
    from palim;
quit;

也可以使用双引号。

proc sql;
    create table palim
    as select palim label='palim''s palim'
    from palim;
quit;

escape子句适用于LIKE表达式。