在PROC SQL中,我需要选择所有行中名为“NAME”的列不包含多个值“abc”,“cde”和“fbv”在这些值之前或之后。所以我这样做:SAS PROC SQL不包含一个语句中的多个值
SELECT * FROM A WHERE
NAME NOT CONTAINS "abc"
AND
NAME NOT CONTAINS "cde"
AND
NAME NOT CONTAINS "fbv";
它工作得很好,但我想如果我们有一百个条件将是一个头痛。所以我的问题是 - 我们可以在PROC SQL中的单个语句中完成此操作吗? 我尝试使用这样的:
SELECT * FROM A WHERE
NOT CONTAINS(NAME, '"abc" AND "cde" AND "fbv"');
但这并不在PROC SQL工作,我收到以下错误:
ERROR: Function CONTAINS could not be located.
我不想使用等。
工作很好,谢谢! 〜表示我假设的通配符? – puk789
'〜'只是一个分隔符,你必须用正则表达式中没有使用的任何分隔符来开始和结束一个正则表达式。正则表达式匹配'任何地方',除非你锚定它们开始或结束。 – Joe
有道理,再次感谢你:) – puk789