0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【BigQuery】Javascript UDFで外字変換してみた

Posted at

概要

興味本位で調べた、BigQueryの[Javascript UDF]("https://cloud.google.com/bigquery/docs/reference/standard-sql/user-defined-functions?hl=ja#javascript-udf-structure","Javascript UDF")を使用して、BigQueryのテーブルデータの外字を内字に変換する方法をメモします。

外字を使用したデータの取得

クエリ

1文字目を「希」、2文字目を外字にして取得する。

SELECT '\u5E0C\uE757' AS char

結果

2文字目が外字のため、画面上だと文字化けしている。
スクリーンショット 2020-12-15 19.08.39.png

外字を内字に変換してデータ取得

クエリ

Javascript UDFで、外字と内字のマッピング表を定義し、外字を内字に変換する。

CREATE TEMP FUNCTION CONVERT_EXTERNAL_CHAR(input STRING)
RETURNS STRING
LANGUAGE js AS
"""
const convert_list = [
{ gaiji: "\uE757",naiji: "\uFA93"} // 望
];

convert_list.forEach(function(item,index,array) {
  input = input.replace(item.gaiji, item.naiji);
});

return input;
""";
SELECT
  CONVERT_EXTERNAL_CHAR(char) AS char
FROM
  ( SELECT '\u5E0C\uE757' AS char );

結果

「希望」と出力された!
スクリーンショット 2020-12-15 19.09.09.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?