Преобразование строки в дату и использование в инструкции Where - PullRequest
0 голосов
/ 06 мая 2020

Я использую портал Snowflake, и мне нужно использовать поле sold_dt в качестве критерия в моем выражении where. Но sold_dt сохраняется как varchar в формате (ггггммдд). Я безуспешно пробовал Convert. Я получаю эту ошибку - SQL compilation error: error line 2 at position 8 invalid identifier 'DATETIME'

select
  convert(datetime, a.sold_dt) as sold_date,
  count(a.vin)
from MyTable a
where sold_date >= '2020/04/01'
group by 1
limit 100

1 Ответ

0 голосов
/ 07 мая 2020

поэтому кажется, что ваши настройки для форматов даты могут отличаться от моих, так как мне нужно было изменить предложение WHERE на формат 'yyyy-mm-dd', но это показывает, что он работает:

WITH example_data AS (
    select * from values ('20200501', 'VIN_A'), ('20200501', 'VIN_B') v(sold_dt, vin)
)
select
  to_date(a.sold_dt,'YYYYMMDD') as sold_date,
  count(a.vin)
from example_data a
where sold_date >= '2020-04-01'
group by 1
limit 100;

давая :

SOLD_DATE   COUNT(A.VIN)
2020-05-01  2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...