Допускает ли структура Big Query SQL UDF сложную логику, как в UDF сценария Java? - PullRequest
0 голосов
/ 16 мая 2018

Используя JavaScript, вы можете сделать что-то вроде этого:

CREATE TEMPORARY FUNCTION customGreeting(a STRING)
RETURNS STRING
LANGUAGE js AS """
  var d = new Date();
  if (d.getHours() < 12) {
    return 'Good Morning, ' + a + '!';
  } else {
    return 'Good Evening, ' + a + '!';
  }

""";

Разрешена ли эта гибкая обработка в sql UDF? Похоже, я не нашел ни одного примера в интернете.

1 Ответ

0 голосов
/ 16 мая 2018

Вы также можете использовать условия внутри пользовательских функций SQL для достижения той же функциональности, например:

CREATE TEMPORARY FUNCTION customGreeting(a STRING) AS (
  IF(CURRENT_TIME() < '12:00:00',
     CONCAT('Good Morning, ', a, '!'),
     CONCAT('Good Evening, ', a, '!'))
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...