Функция форматирования Teradata

#google-bigquery #teradata

#google-bigquery #teradata

Вопрос:

Я конвертирую запрос в teradata в Bigquery и пытаюсь преобразовать приведенный ниже запрос :

 select 1234|| TRIM(CSUM(1,1)  rowVal (FORMAT 'Z(17)9')) from schema.tableName
  

я не могу понять значение (ФОРМАТ ‘Z (17) 9’), и я пытаюсь достичь того же, используя приведенный ниже синтаксис:

 select 1234|| ROW_NUMBER() OVER (ORDER BY 1) FROM `bigquery-public-data.noaa_gsod.gsod194*`;

  

Как я могу убедиться, что результат моего большого запроса также имеет (ФОРМАТ ‘Z (17) 9’), и как я могу добавить значение строки в номер строки

Ответ №1:

CSUM это устаревший синтаксис (и (1,1) действительно неэффективный). Ваш перевод в ROW_NUMBER правильный, ФОРМАТ BigQuery похож, должен быть:

 select 1234|| FORMAT("d", ROW_NUMBER() OVER (ORDER BY 1)   rowval)
  

Если есть GROUP BY col вы должны переместить его в PARTITION BY .

Комментарии:

1. ФОРМАТ bigquery будет работать для вас. cloud.google.com/bigquery/docs/reference/standard-sql /…