在 SQL 中查找完全匹配项

Find an exact match in SQL

我是 SQL 编程的新手,我正在创建一个 table 做几个案例,事实是我有以 '.sas' 结尾的文件,我想把这些作为程序,然后是我想要的其他“.sas7bdat”,我将它们作为 tables,我在做所有这些时,问题是当我说 t1.var1 包含 '. sas' 我也看到了 .sas7bdat' 我只是希望它与 .sas 完全匹配以区分它与 tables.

有谁知道我该怎么做?我把我的代码留给你:

PROC SQL;
CREATE TABLE test AS
SELECT t2.var1,
       t1.var2,
       t1.var3,
       t1.var4,
       t1.var5,
       t1.vr6,
       t1.var7,
       t2.var8,
       t2.var9,
       CASE
         WHEN t1.var1 contains '.log' THEN
          'LOG'
         WHEN t1.var1 contains '.csv' OR '.xlsx' THEN
          'FICHERO'
         WHEN t1.var1 contains '.sas7bdat' THEN
          'TABLA'
         WHEN t1.var1 contains '.sas' THEN
          'PROGRAMA'
       END AS var10
  FROM origin AS t1
  LEFT JOIN test2 t2
    ON t1.var3 = t2.var2
 WHERE var5 IS NOT NULL
 ORDER BY var5 DESC;
QUIT;

我也试过类似的,但它不是return我想要的

使用like '%.extension':

CASE
   WHEN t1.var1 like '%.log' THEN
      'LOG'
   WHEN t1.var1 like '%.csv' OR t1.var1 like '%.xlsx' THEN
      'FICHERO'
   WHEN t1.var1 like '%.sas7bdat' THEN
      'TABLA'
   WHEN t1.var1 like '%.sas' THEN
      'PROGRAMA'
END AS var10

注意还更正了一个小语法问题:您不能使用表达式 t1.var1 contains '.csv' OR '.xlsx'。您必须重复该操作,例如t1.var1 contains '.csv' OR t1.var1 contains '.xlsx'