概要
興味本位で調べた、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
結果
外字を内字に変換してデータ取得
クエリ
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 );