본문으로 건너뛰기
최종 수정: 에

ARRAY_CROSS_PRODUCT

설명​

삼차원 수치 배열 두 개의 외적을 계산합니다.

lhs = [x1, x2, x3]와 rhs = [y1, y2, y3]가 주어지면 결과는 다음과 같습니다:

lhs x rhs = [x2 * y3 - x3 * y2, x3 * y1 - x1 * y3, x1 * y2 - x2 * y1]

별칭​

  • cross_product

구문​

array_cross_product(ARRAY<T> lhs, ARRAY<T> rhs)

매개변수​

매개변수설명
lhs첫 번째 삼차원 수치 배열
rhs두 번째 삼차원 수치 배열

T는 FLOAT와 TINYINT, SMALLINT, INT, BIGINT, LARGEINT 등의 정수 배열 요소 타입을 지원합니다.

반환 값​

ARRAY<FLOAT>를 반환합니다.

  • 입력 배열 중 하나라도 NULL이면 NULL을 반환합니다.
  • 입력 배열 중 하나라도 NULL 요소를 포함하면 오류를 반환합니다.
  • 입력 배열 중 하나라도 요소의 개수가 정확히 세 개가 아니면 오류를 반환합니다.

예제​

SELECT array_cross_product([2.5, -3.0, 4.25], [-7.5, 0.5, 1.25]);
+--------------------------------------------------------------+
| array_cross_product([2.5, -3.0, 4.25], [-7.5, 0.5, 1.25]) |
+--------------------------------------------------------------+
| [-5.875, -35, -21.25] |
+--------------------------------------------------------------+
SELECT array_cross_product(CAST([-128, 0, 127] AS ARRAY<TINYINT>),
CAST([3, -5, 7] AS ARRAY<TINYINT>));
+---------------------------------------------------------------------------------------------------+
| array_cross_product(CAST([-128, 0, 127] AS ARRAY<TINYINT>), CAST([3, -5, 7] AS ARRAY<TINYINT>)) |
+---------------------------------------------------------------------------------------------------+
| [635, 1277, 640] |
+---------------------------------------------------------------------------------------------------+
SELECT array_cross_product(CAST(NULL AS ARRAY<FLOAT>), [4.0, 5.0, 6.0]);
+--------------------------------------------------------------------------+
| array_cross_product(CAST(NULL AS ARRAY<FLOAT>), [4.0, 5.0, 6.0]) |
+--------------------------------------------------------------------------+
| NULL |
+--------------------------------------------------------------------------+
SELECT array_cross_product([-11, NULL, 13], [17, -19, 23]);
ERROR 1105 (HY000): errCode = 2, detailMessage = function array_cross_product cannot have null