Snowflake - 在记录中获取当天的全名

Snowflake - Get full name of day in records

我试图从 中更改 current_date(),但我无法使其适用于 table 中的记录。这是我的查询:

 select decode(extract('dayofweek_iso', LAST_MODIFIED_DATE),
  1, 'Monday',
  2, 'Tuesday',
  3, 'Wednesday',
  4, 'Thursday',
  5, 'Friday',
  6, 'Saturday',
  7, 'Sunday');
 FROM RTABLE

但它正在返回 SQL compilation error: error line 1 at position 39 invalid identifier 'LAST_MODIFIED_DATE'

您的列 LAST_MODIFIED_DATE 似乎不存在于您的 table RTABLE

select decode(extract ('dayofweek_iso',current_date()),
  1, 'Monday',
  2, 'Tuesday',
  3, 'Wednesday',
  4, 'Thursday',
  5, 'Friday',
  6, 'Saturday',
  7, 'Sunday');

有效,因为 current_date() 始终存在。

如果我使用一些值,因此 COLUMN1 是有效的:

select decode(extract ('dayofweek_iso',column1),
  1, 'Monday',
  2, 'Tuesday',
  3, 'Wednesday',
  4, 'Thursday',
  5, 'Friday',
  6, 'Saturday',
  7, 'Sunday')
from values 
  ('2013-05-08T23:39:20.123+00:00'::date),
  ('2014-05-08T23:39:20.123+00:00'::date),
  ('2015-05-08T23:39:20.123+00:00'::date)
    ;

给出:

DECODE(EXTRACT ('DAYOFWEEK_ISO',COLUMN1), 1, 'MONDAY', 2, 'TUESDAY', 3, 'WEDNESDAY', 4, 'THURSDAY', 5, 'FRIDAY', 6, 'SATURDAY', 7, 'SUNDAY')
Wednesday
Thursday
Friday
 select decode(extract('dayofweek_iso', LAST_MODIFIED_DATE),
  1, 'Monday',
  2, 'Tuesday',
  3, 'Wednesday',
  4, 'Thursday',
  5, 'Friday',
  6, 'Saturday',
  7, 'Sunday')   /* ; <--- this needs to be removed */
 FROM RTABLE

如果您可以接受 3 个字母,dayname 可能会更方便

select dayname(last_modified_date)
from t;