This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git
The following commit(s) were added to refs/heads/master by this push:
new 36d3ff92cd06 docs(i18n): machine Japanese translation candidates
(#4491)
36d3ff92cd06 is described below
commit 36d3ff92cd06e03b16889c49ffacf032d221ae0a
Author: Mingyu Chen (Rayner) <[email protected]>
AuthorDate: Sat Oct 24 10:50:10 2026 +0100
docs(i18n): machine Japanese translation candidates (#4491)
## Japanese translation candidate
Source commit: `795aeb76a468b06fb12fd8f218fa33c31d76b63c`
Model: `gpt-6-sol`; glossary: `1`
Review status: machine. Japanese proofreading and the normal PR checks
are still required.
| Action | Version | English source | SHA-256 prefix | Generation |
| --- | --- | --- | --- | --- |
| update | current |
[`docs/sql-manual/sql-functions/ai-functions/overview.md`](https://github.com/apache/doris-website/blob/795aeb76a468b06fb12fd8f218fa33c31d76b63c/docs/sql-manual/sql-functions/ai-functions/overview.md)
| `08a32b448a39` | full (glossary-version-changed) |
| update | current |
[`docs/sql-manual/sql-functions/scalar-functions/array-functions/array-range.md`](https://github.com/apache/doris-website/blob/795aeb76a468b06fb12fd8f218fa33c31d76b63c/docs/sql-manual/sql-functions/scalar-functions/array-functions/array-range.md)
| `ab708ff556dc` | full (glossary-version-changed) |
| update | current |
[`docs/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.md`](https://github.com/apache/doris-website/blob/795aeb76a468b06fb12fd8f218fa33c31d76b63c/docs/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.md)
| `9d661d14611e` | full (glossary-version-changed) |
| update | current |
[`docs/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.md`](https://github.com/apache/doris-website/blob/795aeb76a468b06fb12fd8f218fa33c31d76b63c/docs/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.md)
| `c1cf237d08a4` | full (glossary-version-changed) |
| update | current |
[`docs/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.md`](https://github.com/apache/doris-website/blob/795aeb76a468b06fb12fd8f218fa33c31d76b63c/docs/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.md)
| `33cae71c2b71` | full (glossary-version-changed) |
| update | current |
[`docs/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.md`](https://github.com/apache/doris-website/blob/795aeb76a468b06fb12fd8f218fa33c31d76b63c/docs/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.md)
| `c013965cdb54` | full (glossary-version-changed) |
| update | current |
[`docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.md`](https://github.com/apache/doris-website/blob/795aeb76a468b06fb12fd8f218fa33c31d76b63c/docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.md)
| `3ceb3def93fd` | full (glossary-version-changed) |
| update | current |
[`docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.md`](https://github.com/apache/doris-website/blob/795aeb76a468b06fb12fd8f218fa33c31d76b63c/docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.md)
| `47eaf3b862a3` | full (glossary-version-changed) |
| update | current |
[`docs/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.md`](https://github.com/apache/doris-website/blob/795aeb76a468b06fb12fd8f218fa33c31d76b63c/docs/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.md)
| `809aec173514` | full (glossary-version-changed) |
| update | current |
[`docs/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.md`](https://github.com/apache/doris-website/blob/795aeb76a468b06fb12fd8f218fa33c31d76b63c/docs/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.md)
| `35563b72149e` | full (glossary-version-changed) |
## Failed or skipped tasks
None.
## Candidates retained with warnings
- `docs/sql-manual/sql-functions/ai-functions/overview.md`: third
attempt retained for review. protected-content: Restore protected source
content: protected node 1: expected ["html",null,null,"<!-- \nLicensed
to the Apache Software Foundation (ASF) under one\nor more contributor
license agreements. See the NOTICE file\ndistributed with this work for
additional information\nregarding copyright ownership. The ASF licenses
this file\nto you under the Apache License, Version 2.0
(the\n\"License\"); you may not use this file except in compliance\nwith
the License. You may obtain a copy of the License at\n\n
http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by
applicable law or agreed to in writing,\nsoftware distributed under the
License is distributed on an\n\"AS IS\" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY\nKIND, either express or implied. See the License for
the\nspecific language governing permissions and limitations\nunder the
License.\n-->"]; received ["html",null,null,"<!--\nLicensed to the
Apache Software Foundation (ASF) under one\nor more contributor license
agreements. See the NOTICE file\ndistributed with this work for
additional information\nregarding copyright ownership. The ASF licenses
this file\nto you under the Apache License, Version 2.0
(the\n\"License\"); you may not use this file except in compliance\nwith
the License. You may obtain a copy of the License at\n\n
http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by
applicable law or agreed to in writing,\nsoftware distributed under the
License is distributed on an\n\"AS I…
-
`docs/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.md`:
third attempt retained for review. protected-content: Restore protected
source content: numeric values: expected
["0","00","00","00","00","00","00","00","00","00","0001","0001","01","01","01","01","12","23","31","4.1","4.1","4.1.5","4.1.5","59","59","9999"];
received
["0","00","00","00","00","00","00","00","00","00","0001","0001","01","01","01","01","12","23","31","4.1","4.1","4.1.5","4.1.5","59","59","9","9999"]
protected node 12: expected ["inlineCode",null,null,"<origin>"];
received ["inlineCode",null,null,"TIMESTAMP_NS"] protected node 13:
expected ["inlineCode",null,null,"TIMESTAMP_NS"]; received
["inlineCode",null,null,"<origin>"]
-
`docs/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.md`:
third attempt retained for review. protected-content: Restore protected
source content: protected node 24: expected
["inlineCode",null,null,"2025-12-31 23:59:59+05:00"]; received
["inlineCode",null,null,"+08:00"] protected node 25: expected
["inlineCode",null,null,"2026-01-01 02:59:59"]; received
["inlineCode",null,null,"2025-12-31 23:59:59+05:00"] protected node 26:
expected ["inlineCode",null,null,"+08:00"]; received
["inlineCode",null,null,"2026-01-01 02:59:59"]
-
`docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.md`:
third attempt retained for review. protected-content: Restore protected
source content: protected node 48: expected
["inlineCode",null,null,"\"v31\""]; received
["inlineCode",null,null,"v31"] protected node 49: expected
["inlineCode",null,null,"v31"]; received
["inlineCode",null,null,"\"v31\""]
-
`docs/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.md`:
third attempt retained for review. protected-content: Restore protected
source content: protected node 13: expected
["inlineCode",null,null,"TINYINT"]; received
["inlineCode",null,null,"NULL"] protected node 14: expected
["inlineCode",null,null,"1"]; received
["inlineCode",null,null,"TINYINT"] protected node 15: expected
["inlineCode",null,null,"0"]; received ["inlineCode",null,null,"1"]
## Validation
Updates at or below 30% translate only changed Markdown/MDX blocks and
preserve other target blocks.
Change size is the sum of max(removed, added) non-empty English lines
per diff hunk, divided by the larger old/new line count.
New documents, larger updates, glossary changes or baselines that cannot
be aligned use full translation.
Generation uses at most three attempts per document. Deletions and
code-only updates may need no model call.
Each retry receives the earlier validation errors. Third-attempt content
issues are retained as warnings above.
Full attempt history and diagnostics are in generation.json and the page
state records.
Committed source hashes, managed paths and target/state hashes are
checked before applying candidates.
Master is checked before each model call and before publishing:
unrelated merges are allowed, a page changed on master is dropped, and a
translation configuration or tooling change discards the batch.
The publisher runs the shared PR translation-state, syntax and
internal-link checks before pushing.
The normal PR build and human proofreading are still required before
merging.
<!-- japanese-translation-automation:v1
bot-head=1dc1c4523a858db9b06c5fb33946ebddf5bf3d1d -->
Shared PR admission checks: passed (translation state, syntax, internal
links).
Co-authored-by: morningman <[email protected]>
---
.../sql-functions/ai-functions/overview.md | 142 +++++++++++++-------
.../array-functions/array-range.md | 144 +++++++++++++--------
.../array-functions/array-shuffle.md | 84 +++++++-----
.../scalar-functions/array-functions/array-sort.md | 56 ++++----
.../date-time-functions/week-ceil.md | 129 +++++++++++++-----
.../date-time-functions/week-floor.md | 125 ++++++++++++++----
.../json-functions/json-extract-string.md | 65 +++++++---
.../json-functions/json-extract.md | 123 +++++++++++-------
.../numeric-functions/format-round.md | 98 +++++++++++---
.../string-functions/multi-match-any.md | 80 +++++++++---
.../sql-functions/ai-functions/overview.json | 64 +++++++++
.../array-functions/array-range.json | 37 +++++-
.../array-functions/array-shuffle.json | 36 ++++++
.../array-functions/array-sort.json | 45 +++++++
.../date-time-functions/week-ceil.json | 56 +++++++-
.../date-time-functions/week-floor.json | 56 +++++++-
.../json-functions/json-extract-string.json | 37 +++++-
.../json-functions/json-extract.json | 64 +++++++++
.../numeric-functions/format-round.json | 37 +++++-
.../string-functions/multi-match-any.json | 56 +++++++-
20 files changed, 1178 insertions(+), 356 deletions(-)
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/overview.md
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/overview.md
index a3d4590a5991..b07b977031ac 100644
---
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/overview.md
+++
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/overview.md
@@ -2,14 +2,14 @@
{
"title": "概要 | AI 関数",
"language": "ja",
- "description": "AI 関数は、人工知能(AI)の機能を利用する Doris の組み込み関数です。",
+ "description": "AI Function は、人工知能(AI)の機能を基盤として Doris が提供する組み込み関数です。",
"sidebar_label": "概要"
}
---
-# 概要
+# 概要 {#overview}
-<!--
+<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
@@ -28,19 +28,19 @@ specific language governing permissions and limitations
under the License.
-->
-## 説明
+## 説明 {#description}
-AI 関数は、人工知能(AI)の機能を利用する Doris の組み込み関数です。SQL クエリから直接 AI
を呼び出し、さまざまなテキスト処理タスクを実行できます。Doris
のリソース機構を通じて、OpenAI、Anthropic、DeepSeek、Gemini、Ollama、MoonShot などの AI
プロバイダーに接続します。
+AI Function は、人工知能(AI)の機能を基盤として Doris が提供する組み込み関数です。ユーザーは SQL クエリから AI
を直接呼び出し、さまざまな高度なテキスト処理を実行できます。AI Function は Doris
のリソース機構を通じて、OpenAI、Anthropic、DeepSeek、Gemini、Ollama、MoonShot など、主要な AI
プロバイダーに接続します。
-使用する AI は Doris の外部で提供され、テキスト分析をサポートする必要があります。
+使用する AI は Doris の外部から提供され、テキスト分析に対応している必要があります。
---
-## AI リソースの設定
+## AI リソースの設定 {#configure-ai-resource}
-AI 関数を使用する前に、AI API の接続情報を一元管理するため、AI 型のリソースを作成します。
+AI Function を使用する前に、AI API へのアクセス情報を一元管理するため、タイプが AI の Resource を作成する必要があります。
-### 例: AI リソースの作成
+### 例:AI リソースの作成 {#example-create-ai-resource}
```sql
CREATE RESOURCE "ai_resource_name"
@@ -58,59 +58,106 @@ PROPERTIES (
);
```
-##### パラメータの説明
+##### パラメータの説明 {#parameter-description}
-`type`: 必須。`ai` を指定し、AI リソースの型を示します。
+`type`:必須。値は `ai` にする必要があり、AI のタイプ識別子として使用します。
-`ai.provider_type`: 必須。外部 AI プロバイダーの種類。現在は
OpenAI、Anthropic、Gemini、DeepSeek、Local、MoonShot、MiniMax、Zhipu、QWen、Baichuan
に対応します。ここにないプロバイダーでも API 形式が
[OpenAI](https://platform.openai.com/docs/overview)/[Anthropic](https://docs.anthropic.com/en/api/messages-examples)/[Gemini](https://ai.google.dev/gemini-api/docs/quickstart#rest_1)
と同じ場合は、対応するプロバイダーを指定できます。
+`ai.provider_type`:汎用モデルグループでは必須。外部 AI プロバイダーを指定します。対応するプロバイダーには
OpenAI、Anthropic、Gemini、DeepSeek、Local、MoonShot、MiniMax、Zhipu、QWen、Baichuan、VoyageAI、Jina
があります。別のプロバイダーが
[OpenAI](https://platform.openai.com/docs/overview)、[Anthropic](https://docs.anthropic.com/en/api/messages-examples)、[Gemini](https://ai.google.dev/gemini-api/docs/quickstart#rest_1)
のいずれかと互換性のある API を使用する場合は、対応する互換プロバイダーのタイプを指定します。
-`ai.endpoint`: 必須。AI API のエンドポイント。
+有効なプロバイダータイプであっても、すべての AI 関数に対応しているとは限りません。たとえば、VoyageAI と Jina
は埋め込みに対応していますが、テキスト生成モデルとしては使用できません。
-`ai.model_name`: 必須。モデル名。
+`ai.endpoint`:汎用モデルグループでは必須。AI API のエンドポイントを指定します。
-`ai_api_key`: `ai.provider_type = local` の場合を除いて必須。API キー。
+`ai.model_name`:汎用モデルグループでは必須。モデル名を指定します。
-`ai.temperature`: 任意。生成内容のランダム性を制御します。0 から 1 の浮動小数点値を指定します。
-デフォルト値は -1 で、このパラメータが未設定であることを意味します。
+`ai.api_key`:汎用モデルグループの API キー。`ai.provider_type = local` の場合を除き必須です。
-`ai.max_tokens`: 任意。生成内容のトークン数の上限を指定します。
-デフォルト値は -1 で、このパラメータが未設定であることを意味します。Anthropic のデフォルト値は 2048 です。
+`ai.temperature`:省略可能。生成される内容のランダム性を制御します。0 から 1 までの浮動小数点値を指定できます。
+デフォルト値は -1 で、このパラメータが設定されていないことを意味します。
-`ai.max_retries`: 任意。一回のリクエストで再試行する回数の上限。デフォルト値は 3 です。
+`ai.max_token`:省略可能。生成される内容のトークン数の上限を指定します。
+デフォルト値は -1 で、このパラメータが設定されていないことを意味します。Anthropic のデフォルト値は 2048 です。
-`ai.retry_delay_second`: 任意。再試行するまでの待機時間(秒)。デフォルト値は 0 です。
+`ai.max_retries`:省略可能。単一リクエストの最大再試行回数です。デフォルト値は 3 です。
-`ai.dimensions`: 任意。[EMBED](./distance-functions/embed.md) の出力ベクトルの次元数を制御します。
-**設定前に、`ai.model_name` に指定したモデルが任意のベクトル次元数に対応していることを確認してください**。
+`ai.retry_delay_second`:省略可能。再試行までの待機時間を秒単位で指定します。開発ブランチでのデフォルト値は 1、Doris
4.1.5 では 0 です。
+
+`ai.dimensions`:省略可能。[EMBED](./distance-functions/embed.md) の出力ベクトルの次元数を制御します。
+**設定する前に、`ai.model_name` に指定したモデルがベクトルの次元数のカスタマイズに対応していることを必ず確認してください。**
対応していない場合、モデルの呼び出しに失敗することがあります。
+### 埋め込み専用モデルの設定(4.1.5 以降) {#dedicated-embedding-model-configuration-since-415}
+
+バージョン 4.1.5 以降、AI Resource
では汎用モデル、テキスト埋め込みモデル、マルチモーダル埋め込みモデルを個別に設定できます。少なくともいずれかのグループを完全に設定する必要があります。あるグループに接続プロパティまたは
API キーを指定した場合、そのグループには `endpoint`、`provider_type`、`model_name` が必要で、`LOCAL`
以外のプロバイダーではさらに `api_key` が必要です。不足している項目が他のグループから継承されることはありません。
+
+| モデルグループ | 接続プロパティ | API キー | 用途 |
+| --- | --- | --- | --- |
+| 汎用 | `ai.endpoint`, `ai.provider_type`, `ai.model_name` | `ai.api_key` |
テキスト生成とその他の AI 関数。埋め込み専用グループが設定されていない場合のフォールバック |
+| テキスト埋め込み | `ai.embed.endpoint`, `ai.embed.provider_type`,
`ai.embed.model_name` | `ai.embed.api_key` | `EMBED()`
へのテキスト入力。マルチモーダル入力のフォールバック |
+| マルチモーダル埋め込み | `ai.embed.mm.endpoint`, `ai.embed.mm.provider_type`,
`ai.embed.mm.model_name` | `ai.embed.mm.api_key` | `EMBED()` への JSON
形式のマルチモーダル入力 |
+
+テキスト入力の `EMBED()` は、まずテキスト埋め込みグループを選択し、次に汎用グループを選択します。マルチモーダル入力の `EMBED()`
は、マルチモーダル埋め込みグループ、テキスト埋め込みグループ、汎用グループの順に選択します。選択されたプロバイダーとモデルは、実際のメディアタイプに対応している必要があります。埋め込みグループだけを持つリソースは、対応する
`EMBED()` の呼び出しに使用できますが、汎用モデルを必要とするテキスト生成関数には使用できません。
+
+たとえば、テキスト埋め込み専用のリソースには、汎用の生成モデルは必要ありません。
+
+```sql
+CREATE RESOURCE "text_embed_resource"
+PROPERTIES (
+ "type" = "ai",
+ "ai.embed.provider_type" = "openai",
+ "ai.embed.endpoint" = "https://<embedding-service>/v1/embeddings",
+ "ai.embed.model_name" = "<embedding-model>",
+ "ai.embed.api_key" = "<api-key>"
+);
+```
+
+接続に関する値は、利用するサービスの設定に置き換えてください。作成に成功すると `Query OK` が返されます。`ai.dimensions`
や再試行に関するパラメータなどの共通設定には、引き続きリソースの設定が使用されます。
+
+### 推論の労力:`ai.effort`(4.1.5 以降) {#reasoning-effort-aieffort-since-415}
+
+バージョン 4.1.5 以降、省略可能な文字列プロパティ `ai.effort`
で推論の労力を指定できます。デフォルトでは未設定で、プロバイダーには送信されません。プロバイダーによる検証に従い、小文字の値を使用してください。
+
+| プロバイダー | 受け付ける値 |
+| --- | --- |
+| `ANTHROPIC` | `low`, `medium`, `high`, `xhigh`, `max` |
+| `GEMINI` | `minimal`, `low`, `medium`, `high` |
+| その他のプロバイダーに対するプロパティの検証 | `none`, `minimal`, `low`, `medium`, `high`,
`xhigh`, `max` |
+
+プロパティの検証に通っても、すべてのモデルがその労力レベルに対応しているとは限りません。利用するサービスとモデルが対応する値を選択してください。`ai.effort`
は `ai.max_token` の代わりにはなりません。
+
+### 作成、変更、削除の権限(4.1.5 以降) {#create-alter-and-drop-permissions-since-415}
+
+AI Resource の作成には、グローバルな `ADMIN` 権限が必要です。バージョン 4.1.5 以降、FE の設定項目
[`ai_resource_allowed_user`](../../../admin-manual/config/fe-config.md#ai_resource_allowed_user)
により、作成者の ID をさらに制限できます。デフォルト値の `*` では ID による制限は追加されません。
+
+バージョン 4.1.5 以降に `root` が新規作成した AI Resource は、`root` のみが変更または削除できます。他のアカウントは
`ADMIN`
権限を持っていても拒否されます。アップグレード前から存在し、このマーカーを持たないリソースに、マーカーが遡って付けられることはありません。その他のリソースには、従来の権限チェックが適用されます。
+
---
-## リソースの選択とセッション変数
+## リソースの選択とセッション変数 {#resource-selection-and-session-variables}
-AI 関連の関数を呼び出す際、リソースは次の二通りで指定できます。
+ユーザーが AI 関連の関数を呼び出す際、リソースは次の方法で指定できます。
-- 明示的に指定: 関数呼び出し時にリソース名を直接渡します。
-- 暗黙的に指定: あらかじめセッション変数を設定すると、関数が対応するリソースを自動的に使用します。
+- 明示的に指定する:関数の呼び出し時にリソース名を直接渡します。
+- 暗黙的に指定する:事前にセッション変数を設定すると、関数が対応するリソースを自動的に使用します。
-セッション変数の設定形式:
+セッション変数の設定形式:
```sql
SET default_ai_resource='resource_name';
```
-関数の呼び出し形式:
+関数の呼び出し形式:
```sql
SELECT AI_FUNCTION([<resource_name>], <args...>);
```
-### リソース選択の優先順位
+### リソースの選択優先順位 {#resource-selection-priority}
-AI 関数の呼び出し時には、次の順序で使用するリソースが決まります。
+AI_Function を呼び出すと、次の順序で使用するリソースが決まります。
1. 呼び出し時にユーザーが明示的に指定したリソース
-2. グローバルのデフォルトリソース(`default_ai_resource`)
+2. グローバルなデフォルトリソース(`default_ai_resource`)
-Example:
+例:
```sql
SET default_ai_resource='global_default_resource';
@@ -120,33 +167,33 @@ SELECT AI_SENTIMENT('invoke_resource', 'this is a test');
--Uses resource named
---
-## AI 関数
+## AI 関数 {#ai-functions}
-Doris では現在、次の AI 関数をサポートします。
+現在、Doris では次の AI 関数がサポートされています。
-- `AI_CLASSIFY`: 情報の分類
+- `AI_CLASSIFY`:情報の分類
-- `AI_EXTRACT`: 情報の抽出
+- `AI_EXTRACT`:情報の抽出
- `AI_FILTER`:情報のフィルタリング
-- `AI_FIXGRAMMAR`: 文法の修正
+- `AI_FIXGRAMMAR`:文法の修正
-- `AI_GENERATE`: テキストの生成
+- `AI_GENERATE`:テキストの生成
-- `AI_MASK`: 機密情報のマスキング
+- `AI_MASK`:機密情報のマスキング
-- `AI_SENTIMENT`: 感情分析
+- `AI_SENTIMENT`:感情分析
-- `AI_SIMILARITY`: テキストの意味的類似度の比較
+- `AI_SIMILARITY`:テキストの意味的類似度の比較
-- `AI_SUMMARIZE`: テキストの要約
+- `AI_SUMMARIZE`:テキストの要約
-- `AI_TRANSLATE`: 翻訳
+- `AI_TRANSLATE`:翻訳
-- `AI_AGG`: 複数のテキストを行をまたいで集約・分析
+- `AI_AGG`:複数のテキストに対する行をまたいだ集約分析
-### 例
+### 例 {#examples}
1. `AI_TRANSLATE`
```sql
@@ -160,5 +207,4 @@ SET default_ai_resource = 'resource_name';
SELECT AI_SENTIMENT('Apache Doris is a great DBMS.');
```
-各関数の詳細と使い方は、それぞれのドキュメントを参照してください。
-
+各関数の詳細と使用方法については、それぞれの関数のドキュメントを参照してください。
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-range.md
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-range.md
index c2fc614a6ce5..511465cb0d70 100644
---
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-range.md
+++
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-range.md
@@ -2,74 +2,116 @@
{
"title": "ARRAY_RANGE",
"language": "ja",
- "description": "数値または日時の等差数列を配列として生成します。"
+ "description": "数値または日時の等間隔の配列を生成します。"
}
---
-## 機能
+<a id="function"></a>
-数値または日時の等差数列を配列として生成します。
-- 数値型の場合、デフォルトの間隔は 1 です。
-- 日時型の場合、デフォルトの間隔は 1 日です。
+## 説明 {#description}
-## 構文
+数値または日時の等間隔の配列を生成します。結果には開始値が含まれ、終了値は含まれません。いずれかの引数が NULL の場合は NULL を返します。
-- `ARRAY_RANGE(end)`
-- `ARRAY_RANGE(start, end)`
-- `ARRAY_RANGE(start, end, step)`
-- `ARRAY_RANGE(start_dt, end_dt)`
-- `ARRAY_RANGE(start_dt, end_dt, interval step unit)`
+Doris 4.1 系列の 4.1.5
以降では、日時の配列について、終了値までの残りが間隔に満たない場合でも、終了値より前の有効な値をすべて保持します。それ以前のバージョンでは、末尾の値が省略されることがありました。
-## パラメータ
+## 構文 {#syntax}
-- `start`、`end`: 非負の整数です。`end` は上限であり、結果には含まれません。
-- `step`: 正の整数である必要があります。要素間の間隔を指定します。デフォルトは 1 です。
-- `start_dt`、`end_dt`: `DATETIME` または `TIMESTAMP_NS`
です。両方の引数は同じ型である必要があります。引数を二つ指定する形式では、デフォルトの間隔は 1 DAY です。
-- `interval step unit`: 日時の間隔です。`unit` には
`YEAR|QUARTER|MONTH|WEEK|DAY|HOUR|MINUTE|SECOND` を指定できます。`step` は正の整数である必要があります。
+```sql
+ARRAY_RANGE(<end>)
+ARRAY_RANGE(<start>, <end> [, <step>])
+ARRAY_RANGE(<start_dt>, <end_dt> [, INTERVAL <step> <unit>])
+```
-## 戻り値
+## パラメータ {#parameters}
-- `ARRAY<T>` を返します。不正な引数の場合は `NULL` を、範囲が空の場合は空の配列 `[]` を返します。
-- 要素の型 `T` は入力に対応します。整数を入力すると `INT`、`DATETIME` または `TIMESTAMP_NS`
を入力すると対応する日時型になります。
+| パラメータ | 説明 |
+| --- | --- |
+| `<start>` | 省略可能な非負の INT 開始値。デフォルトは 0 です。 |
+| `<end>` | 非負の INT 終了値。結果には含まれません。 |
+| `<step>` | 省略可能な正の整数の間隔。デフォルトは 1 です。 |
+| `<start_dt>`, `<end_dt>` | DATETIME または TIMESTAMP_NS
の開始値と終了値。両方の引数は同じ型である必要があります。終了値は含まれません。INTERVAL を指定しない場合、間隔は 1 DAY です。 |
+| `<unit>` | 日時の間隔の単位:YEAR、QUARTER、MONTH、WEEK、DAY、HOUR、MINUTE、SECOND。 |
-## 使用上の注意
+## 戻り値 {#return-value}
-- 数値の数列: `start` から始め、`step` ずつ増加させ、`end` の直前まで生成します(左閉右開)。
-- 日時の数列: `start_dt` から始め、`step` ずつ、指定した `unit` 単位で増加させ、`end_dt`
の直前まで生成します。引数を二つ指定する形式は `interval 1 day` と同等です。
-- 不正な引数は `NULL` を返します。
- - 数値: `start < 0`、`end < 0`、`step <= 0`。
- - 日時: `start_dt` または `end_dt` が無効な場合、または `step <= 0` の場合。
-- `ARRAY_RANGE` と `SEQUENCE` は同等です。
+ARRAY を返します。数値の配列の要素は INT 型、日時の配列の要素は入力と同じ DATETIME 型または TIMESTAMP_NS 型です。
-## 使用例
+<a id="usage-notes"></a>
-- 数値: `start` のデフォルトは 0、`step` のデフォルトは 1 です。
- - `ARRAY_RANGE(5)` -> `[0, 1, 2, 3, 4]`
- - `ARRAY_RANGE(0, 5)` -> `[0, 1, 2, 3, 4]`
+- いずれかの引数が NULL または無効な場合は、NULL を返します。無効な引数には、負の数値の開始値や終了値、正でない間隔などがあります。
+- 開始値が終了値以上の場合は、空の配列 `[]` を返します。
+- 後続の値は、それぞれ直前の値から計算されます。月単位の計算では、日付が移動先の月の末日に調整されることがあります。
+- 配列がサイズの上限を超える場合は、エラーを報告します。次の値が日付型の範囲を超える場合は、最後の有効な値を生成した時点で停止します。
+- `SEQUENCE` は `ARRAY_RANGE` の別名です。
-- 数値: `end` は上限であり、結果には含まれません。
- - `ARRAY_RANGE(2, 6, 2)` -> `[2, 4]`
- - `ARRAY_RANGE(3, 3)` -> `[]`
+<a id="examples"></a>
-- 数値: `end` が `start` 以上でない場合は `[]` を返します。
- - `ARRAY_RANGE(3, 2)` -> `[]`
+## 例 {#example}
-- 数値: `start` と `end` は非負の整数、`step` は 0 より大きい値である必要があります。
- - `ARRAY_RANGE(-1, 3)` -> `NULL`
- - `ARRAY_RANGE(1, 3, 0)` -> `NULL`
+数値の配列には終了値が含まれません:
-- 日時: `step` のデフォルトは 1 日です。
- - `ARRAY_RANGE('2022-05-15 12:00:00', '2022-05-17 12:00:00')` ->
`['2022-05-15 12:00:00', '2022-05-16 12:00:00']`
- - `ARRAY_RANGE('2022-05-15 12:00:00', '2022-05-17 12:00:00', interval 1
day)` -> `['2022-05-15 12:00:00', '2022-05-16 12:00:00']`
+```sql
+SELECT ARRAY_RANGE(5), ARRAY_RANGE(2, 6, 2), ARRAY_RANGE(3, 2);
+```
-- 日時: `unit` には `YEAR|QUARTER|MONTH|WEEK|DAY|HOUR|MINUTE|SECOND` を指定できます。
- - `ARRAY_RANGE('2022-05-15 12:00:00', '2024-05-17 12:00:00', interval 1
year)` -> `["2022-05-15 12:00:00", "2023-05-15 12:00:00"]`
- - `ARRAY_RANGE('2022-05-15 12:00:00', '2023-05-17 12:00:00', interval 1
quarter);` -> `["2022-05-15 12:00:00", "2022-08-15 12:00:00", "2022-11-15
12:00:00", "2023-02-15 12:00:00"] `
- - `ARRAY_RANGE('2022-05-15 12:00:00', '2022-07-17 12:00:00', interval 1
month);` -> `["2022-05-15 12:00:00", "2022-06-15 12:00:00"]`
- - `ARRAY_RANGE('2022-05-15 12:00:00', '2022-05-17 12:00:00', interval 1
day)` -> `['2022-05-15 12:00:00', '2022-05-16 12:00:00']`
- - `ARRAY_RANGE('2022-05-15 12:00:00', '2022-05-15 14:00:00', interval 1
hour)` -> `["2022-05-15 12:00:00", "2022-05-15 13:00:00"]`
- - `ARRAY_RANGE('2022-05-15 12:00:00', '2022-05-15 12:02:00', interval 1
minute)` -> `["2022-05-15 12:00:00", "2022-05-15 12:01:00"]`
- - `ARRAY_RANGE('2022-05-15 12:00:00', '2022-05-15 12:00:02', interval 1
second)` -> `["2022-05-15 12:00:00", "2022-05-15 12:00:01"]`
+```text
+[0, 1, 2, 3, 4] [2, 4] []
+```
-- `TIMESTAMP_NS` は、生成される要素のナノ秒精度を保持します。
- - `ARRAY_RANGE(CAST('2022-05-15 12:00:00.123456789' AS TIMESTAMP_NS),
CAST('2022-05-15 12:00:02.123456789' AS TIMESTAMP_NS), INTERVAL 1 SECOND)` ->
`["2022-05-15 12:00:00.123456789", "2022-05-15 12:00:01.123456789"]`
+日時の配列では、デフォルトの間隔は一日です。終了値までの残りが一日未満でも、最後の値は保持されます:
+
+```sql
+SELECT ARRAY_RANGE(
+ CAST('2024-01-01 00:00:00.000000' AS DATETIME(6)),
+ CAST('2024-01-02 12:00:00.000000' AS DATETIME(6)));
+```
+
+```text
+["2024-01-01 00:00:00.000000", "2024-01-02 00:00:00.000000"]
+```
+
+月単位の間隔では、直前に生成された日付から次の日付を計算します:
+
+```sql
+SELECT ARRAY_RANGE(
+ CAST('2020-01-31 00:00:00' AS DATETIME(6)),
+ CAST('2020-03-30 00:00:00' AS DATETIME(6)), INTERVAL 1 MONTH);
+```
+
+```text
+["2020-01-31 00:00:00.000000", "2020-02-29 00:00:00.000000", "2020-03-29
00:00:00.000000"]
+```
+
+`SEQUENCE` にも同じ規則が適用されます:
+
+```sql
+SELECT SEQUENCE(
+ CAST('2024-01-01 00:00:00.000000' AS DATETIME(6)),
+ CAST('2024-01-01 00:00:01.500000' AS DATETIME(6)), INTERVAL 1 SECOND);
+```
+
+```text
+["2024-01-01 00:00:00.000000", "2024-01-01 00:00:01.000000"]
+```
+
+NULL または無効な引数の場合:
+
+```sql
+SELECT ARRAY_RANGE(NULL), ARRAY_RANGE(-1, 3), ARRAY_RANGE(1, 3, 0);
+```
+
+```text
+NULL NULL NULL
+```
+
+TIMESTAMP_NS 型の入力では、ナノ秒の精度が保持されます:
+
+```sql
+SELECT ARRAY_RANGE(
+ CAST('2022-05-15 12:00:00.123456789' AS TIMESTAMP_NS),
+ CAST('2022-05-15 12:00:02.123456789' AS TIMESTAMP_NS), INTERVAL 1 SECOND);
+```
+
+```text
+["2022-05-15 12:00:00.123456789", "2022-05-15 12:00:01.123456789"]
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.md
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.md
index 7dd1ccd60037..0babfb228701 100644
---
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.md
+++
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.md
@@ -2,53 +2,75 @@
{
"title": "ARRAY_SHUFFLE",
"language": "ja",
- "description": "配列の要素の順序をランダムに入れ替えます。"
+ "description": "配列内の要素の順序をランダムにシャッフルします。"
}
---
-## 機能
+<a id="function"></a>
-配列の要素の順序をランダムに入れ替えます。
+## 説明 {#description}
-## 構文
+配列内の要素の順序をランダムにシャッフルします。要素とその個数は維持されます。入力配列またはシードが NULL の場合は NULL
を返します。`SHUFFLE` はこの関数の別名です。
-- `ARRAY_SHUFFLE(arr)`
-- `ARRAY_SHUFFLE(arr, seed)`
+:::caution 動作の変更 (4.1.5)
-## パラメータ
+Doris 4.1 系列の 4.1.5 以降では、`seed` は定数である必要があります。負の値を含む任意の BIGINT 値を受け付け、64
ビットすべてを使用します。定数配列も行ごとに個別にシャッフルされるため、同じシードでも以前のバージョンとは異なる結果になる場合があります。それ以前の 4.1
バージョンでは、各バッチの最初の行のシードのみを使用し、負のシードおよび 4294967295
を超えるシードを受け付けず、定数配列についてはすべての行で同じ順序になっていました。
-- `arr`: `ARRAY<T>`.
-- `seed`: 省略可能な乱数シード。定数の `BIGINT` である必要があります。
+:::
-## 戻り値
+## 構文 {#syntax}
-- 入力と同じ型の配列を返します。要素の順序はランダムに変わりますが、要素数と型は変わりません。
+```sql
+ARRAY_SHUFFLE(<arr> [, <seed>])
+```
-## 使用上の注意
+## パラメータ {#parameters}
-- 入力 `arr` が `NULL` の場合は `NULL` を返します。`seed` が `NULL` の場合も `NULL` を返します。
-- `arr` が定数でも、各行を個別にシャッフルします。同じ配列を持つ行でも、要素の順序が異なる場合があります。
-- `seed` は `0` や `1 + 1` などの定数である必要があります。列や定数以外の式を渡すとエラーになります。
-- 負の値を含む任意の `BIGINT` 値を `seed` にできます。64 ビットすべてを使用するため、`-1` と `4294967295`
では結果が異なります。
-- 行はバッチ単位で処理されます。各バッチは `seed`
から乱数列を開始し、行はその列から順番に乱数を受け取ります。このため、`ARRAY_SHUFFLE([1, 2, 3, 4], 0)`
の単独呼び出しは毎回同じ結果になりますが、多数の行を処理する場合、バッチへの分割方法によって特定の行の順序が変わることがあります。
-- `seed` を省略すると、各バッチは新しい乱数シードで開始するため、実行ごとに結果が異なることがあります。
-- `ARRAY_SHUFFLE` の別名は `SHUFFLE` で、両者は同等です。
+| パラメータ | 説明 |
+| --- | --- |
+| `<arr>` | シャッフルする ARRAY。 |
+| `<seed>` | 省略可能な定数 BIGINT 乱数シード。定数式も使用できます。省略すると、バッチごとに新しい乱数シードが使用されます。 |
-## 使用例
+## 戻り値 {#return-value}
-- 基本的な使用例:
- - `ARRAY_SHUFFLE([1, 2, 3, 4])` -> 例: `[3, 1, 4, 2]` (ランダムな順序)
- - `ARRAY_SHUFFLE(['a', null, 'b'])` -> 例: `['b', 'a', null]`
+入力と同じ型の配列を返します。要素の順序はランダムに並べ替えられますが、要素数と要素の型は維持されます。配列またはシードが NULL の場合は NULL
を返し、入力配列が空の場合は空の配列を返します。
-- 固定シードを使う場合 (結果を再現可能):
- - `ARRAY_SHUFFLE([1, 2, 3, 4], 0)` -> `[2, 1, 3, 4]` を毎回返します
+<a id="usage-notes"></a>
-- 定数配列も行ごとにシャッフルされます:
- - `SELECT number, ARRAY_SHUFFLE([1, 2, 3, 4, 5], 0) FROM numbers("number" =
"3") ORDER BY number` -> `[3, 1, 2, 4, 5]`, `[3, 5, 4, 2, 1]`、`[4, 5, 1, 3, 2]`
が三つの行にそれぞれ表示されます
+行はバッチ単位で処理されます。シードを指定すると、各バッチはそのシードから乱数列を開始し、バッチ内の行はその乱数列を順番に使用します。そのため、行の並べ替え結果はバッチの境界によって変わる場合があります。シードを指定しても、同じ配列が常に同じ順序に並べ替えられるとは限りません。定数配列も行ごとに個別にシャッフルされます。
-- 負のシードも使用でき、64 ビットすべてが使われます:
- - `ARRAY_SHUFFLE([1, 2, 3, 4], -1)` -> `[4, 1, 3, 2]`、一方 `ARRAY_SHUFFLE([1,
2, 3, 4], 4294967295)` -> `[2, 4, 3, 1]`
+<a id="examples"></a>
-- 定数でないシードはエラーになります:
- - `SELECT ARRAY_SHUFFLE(arr, id) FROM t` -> エラー `The seed of array_shuffle
must be a constant`
+## 例 {#example}
+シャッフルした配列をソートすると、要素が維持されていることを確認できます。負のシードと定数式はどちらも使用できます。
+
+```sql
+SELECT ARRAY_SORT(ARRAY_SHUFFLE([1, 2, 3, 4], -1)),
+ ARRAY_SORT(ARRAY_SHUFFLE([1, 2, 3, 4], 1 + 1));
+```
+
+```text
+[1, 2, 3, 4] [1, 2, 3, 4]
+```
+
+NULL と空の配列の場合:
+
+```sql
+SELECT ARRAY_SHUFFLE(CAST(NULL AS ARRAY<INT>), 1),
+ ARRAY_SHUFFLE([1, 2, 3], NULL), ARRAY_SHUFFLE([], 1);
+```
+
+```text
+NULL NULL []
+```
+
+列をシードとして使用すると、次の文言を含むエラーが報告されます。
+
+```sql
+SELECT ARRAY_SHUFFLE([1, 2, 3], number) FROM numbers("number" = "2");
+```
+
+```text
+The seed of array_shuffle must be a constant
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.md
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.md
index 15a10ff9284f..c677af651ce9 100644
---
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.md
+++
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.md
@@ -2,42 +2,52 @@
{
"title": "ARRAY_SORT",
"language": "ja",
- "description": "lambda 関数を指定しない場合は配列要素を昇順にソートします。指定した場合は lambda
関数に従ってソートします。"
+ "description": "ラムダ関数を指定しない場合、配列の要素は昇順にソートされます。それ以外の場合は、"
}
---
-## 機能
+<a id="function"></a>
-lambda 関数を指定しない場合は配列要素を昇順にソートします。指定した場合は lambda 関数に従ってソートします。
+## 説明 {#description}
-## 構文
+ラムダ関数を指定しない場合、配列の要素は昇順にソートされます。それ以外の場合は、ラムダ関数に従ってソートされます。
-- `ARRAY_SORT(arr)`
-- `ARRAY_SORT(lambda, arr)`
+## 構文 {#syntax}
-## パラメータ
+```sql
+ARRAY_SORT(<arr>)
+ARRAY_SORT(<lambda>, <arr>)
+```
+
+## パラメータ {#parameters}
-- `lambda`: ソート規則を定義する `lambda` 式。戻り値は -1、0、1 のいずれかで、それぞれ小さい、以下、大きいことを表します。
-- `arr`: `ARRAY<T>`。`T` は数値、真偽値、文字列、日時、IP、UUID
などです。多次元配列もサポートしますが、ネストの深さにかかわらずすべての要素がサポート対象の型である必要があります。
+| パラメータ | 説明 |
+| --- | --- |
+| `<arr>` | 要素が数値、真偽値、文字列、日時、IP、UUID、またはその他のサポート対象の型である
ARRAY。多次元配列もサポートされますが、ネストされたすべての要素は、これらのサポート対象の型である必要があります。 |
+| `<lambda>` | 省略可能な比較関数。両方の要素を受け取り、最初の要素が次の要素より小さい場合、等しい場合、大きい場合に、それぞれ -1、0、1
を返します。 |
-## 戻り値
+## 戻り値 {#return-value}
-- `lambda` 式を指定しない場合
+- `lambda` 式を含まない場合
- 入力と同じ型の `ARRAY<T>` を返します。
- - `NULL` 要素は返される配列の先頭に配置されます。
-- `lambda` 式を指定した場合、その式に従ってソートし、入力と同じ型の `ARRAY<T>` を返します。
+ - `NULL` 要素は、返される配列の先頭に配置されます。
+- `lambda` 式を含む場合は、その式に従ってソートし、入力と同じ型の `ARRAY<T>` を返します。
+
+Doris 4.1 系列の 4.1.5
以降では、外側のラムダ引数や別のカラムを参照する比較関数は、明示的にエラーを報告します。比較関数が使用できるのは自身が受け取る両方の引数だけであり、その内部にネストされたラムダは、それらの比較関数の引数をキャプチャできません。この制限は、`ARRAY_MAP`
における通常のネストされたラムダのキャプチャには影響しません。
+
+## 使用上の注意 {#usage-notes}
-## 使用上の注意
+- `lambda` 式を含まない場合
+ - 入力が `NULL` の場合は `NULL` を返し、入力が空の配列 `[]` の場合は空の配列を返します。
+ - `ARRAY_SORT` は昇順にソートし、`ARRAY_REVERSE_SORT` は降順にソートします。
+- `lambda` 式を含む場合
+ - `lambda` 式の値は -1、0、1 のいずれかでなければなりません。`NULL` 値がある場合は、その `NULL`
値を配列の先頭と末尾のどちらに配置するかを明示する必要があります。
-- `lambda` 式を指定しない場合
- - 入力が `NULL` なら `NULL` を返し、空配列 `[]` なら空配列を返します。
- - `ARRAY_SORT` は昇順、`ARRAY_REVERSE_SORT` は降順にソートします。
-- `lambda` 式を指定する場合
- - `lambda` 式の戻り値は -1、0、1 のいずれかです。`NULL` 値がある場合は、配列内で `NULL`
を先頭と末尾のどちらに置くかを明示する必要があります。
+<a id="examples"></a>
-## 使用例
+## 例 {#example}
-1. 基本例: `NULL` 要素は返される配列の先頭に配置されます
+1. 基本例:`NULL` 要素は、返される配列の先頭に配置されます。
```sql
SELECT ARRAY_SORT([2,1,3,null]);
@@ -51,7 +61,7 @@ SELECT ARRAY_SORT([2,1,3,null]);
+--------------------------+
```
-2. 入力が `NULL` なら `NULL` を返し、空配列 `[]` なら空配列を返します。
+2. 入力が `NULL` の場合は `NULL` を返し、入力が空の配列 `[]` の場合は空の配列を返します。
```sql
SELECT ARRAY_SORT(NULL);
@@ -77,7 +87,7 @@ SELECT ARRAY_SORT([]);
+----------------+
```
-3. `lambda` 式を使用する場合
+3. `lambda` 式を使用する例
```sql
SELECT array_sort((x, y) -> IF(x < y, 1, IF(x = y, 0, -1)), [3, 2, 5, 1, 2]);
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.md
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.md
index 3d52aeb49a9d..dfa8441d534d 100644
---
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.md
+++
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.md
@@ -2,14 +2,14 @@
{
"title": "WEEK_CEIL",
"language": "ja",
- "description": "weekceil 関数は、入力された日時値を、指定した週数間隔の直近の開始時刻へ切り上げます。origin
を指定した場合、"
+ "description": "weekceil 関数は、入力された日時の値を、指定された週単位の区間の直近の開始時刻に切り上げます。origin
を指定した場合は、"
}
---
-## 説明
+## 説明 {#description}
-week_ceil 関数は、入力された日時値を、指定した週数間隔の直近の開始時刻へ切り上げます。origin
を指定した場合はそれを基準時刻として使用し、省略した場合は 0000-01-01 00:00:00 を使用します。
+week_ceil 関数は、入力された日時の値を、指定された週単位の区間の直近の開始時刻に切り上げます。origin
を指定した場合はそれを基準とし、指定しない場合は 0001-01-01 00:00:00 を基準とします。
日付の計算式:
$$
@@ -19,121 +19,192 @@ $$
&k \in \mathbb{Z} \land \langle\text{origin}\rangle + k \times
\langle\text{period}\rangle \times \text{week} \geq
\langle\text{date\_or\_time\_expr}\rangle\}
\end{aligned}
$$
-$k$ は、基準時刻から対象時刻に達するまでに必要な期間数を表します。
+$k$ は、基準時刻から対象時刻に到達するまでに必要な区間の数を表します。
-## 構文
+## 構文 {#syntax}
```sql
-WEEK_CEIL(`<date_or_time_expr>`)
-WEEK_CEIL(`<date_or_time_expr>`, `<origin>`)
-WEEK_CEIL(`<date_or_time_expr>`, `<period>`)
-WEEK_CEIL(`<date_or_time_expr>`, `<period>`, `<origin>`)
+WEEK_CEIL(<date_or_time_expr>)
+WEEK_CEIL(<date_or_time_expr>, <origin>)
+WEEK_CEIL(<date_or_time_expr>, <period>)
+WEEK_CEIL(<date_or_time_expr>, <period>, <origin>)
```
-## パラメータ
+## パラメータ {#parameters}
| パラメータ | 説明 |
-|-----------|------|
-| `<date_or_time_expr>` | 切り上げる日時値。DATE/DATETIME/TIMESTAMP_NS/TIMESTAMPTZ
型に対応します。DATE 型は、該当する日付の開始時刻 00:00:00 に変換されます。具体的な形式については [TIMESTAMPTZ
の変換](../../../../sql-manual/basic-element/sql-data-types/conversion/timestamptz-conversion)
を参照してください。DATETIME/DATE の形式については、[DATETIME
の変換](../../../../sql-manual/basic-element/sql-data-types/conversion/datetime-conversion)
と [DATE
の変換](../../../../sql-manual/basic-element/sql-data-types/conversion/date-conversion)
を参照してください。 |
-| `<period>` | 省略可。週の間隔を表す INT 型の値。各間隔の週数を指定します。 |
-| `<origin>` | 省略可。間隔の起点。DATE/DATETIME/TIMESTAMP_NS 型に対応します。デフォルトは 0000-01-01
00:00:00 です。 |
+|-----------|-------------|
+| `<date_or_time_expr>` | 切り上げる日時の値。DATE/DATETIME/TIMESTAMP_NS/TIMESTAMPTZ
型をサポートします。DATE 型の値は、該当する日付の開始時刻 00:00:00 に変換されます。具体的な形式については [timestamptz
の変換](../../../../sql-manual/basic-element/sql-data-types/conversion/timestamptz-conversion)
を、datetime/date の形式については [datetime
の変換](../../../../sql-manual/basic-element/sql-data-types/conversion/datetime-conversion)
および [date
の変換](../../../../sql-manual/basic-element/sql-data-types/conversion/date-conversion)
を参照してください |
+| `<period>` | 週単位の区間の値。型は INT で、各区間に含まれる週数を表します |
+| `<origin>` | 区間の起点。DATE/DATETIME/TIMESTAMP_NS 型をサポートします。デフォルトは 0001-01-01
00:00:00 です |
-## 戻り値
+## 戻り値 {#return-value}
-`TIMESTAMP_NS` 型の入力は、秒の小数部が固定の九桁精度である `TIMESTAMP_NS`
型の値を返します。結果は戻り値の型の範囲に照らして検証されます。`TIMESTAMP_NS` 型の範囲は `[1677-09-21
00:12:43.145224192, 2262-04-11 23:47:16.854775807]` です。
+`TIMESTAMP_NS` 型の入力に対しては、小数部が固定で9桁の精度を持つ `TIMESTAMP_NS`
型の値を返します。結果が戻り値の型の範囲内にあるか検証されます。`TIMESTAMP_NS` の範囲は `[1677-09-21
00:12:43.145224192, 2262-04-11 23:47:16.854775807]` です。
-`<origin>` を省略した `TIMESTAMP_NS`
型の入力では、文書に記載されたデフォルトの起点は内部的な間隔の基準としてのみ使用され、`TIMESTAMP_NS` 型で格納可能な範囲内にある必要はありません。
+`TIMESTAMP_NS` 型の入力で `<origin>`
を省略した場合、文書に記載されたデフォルトの起点は内部で区間を揃えるための基準としてのみ使用され、`TIMESTAMP_NS`
型で格納可能な範囲内にある必要はありません。
-入力引数に応じて選択された日時型で、切り上げ後の日時値を返します。
+入力引数に基づいて選択された時間型で、切り上げ後の日時の値を返します。
-- `<period>` が正でない整数(≤0)の場合、エラーを返します。
+- 入力が NULL ではなく、`<period>` が正の値でない(≤0)場合、エラーを返します。
- いずれかのパラメータが NULL の場合、NULL を返します。
-- `<datetime>` が間隔の開始時点(`<period>` と `<origin>` に基づく)と完全に一致する場合、その開始時点を返します。
+- `<datetime>` が(`<period>` と `<origin>` に基づく)区間の開始時点と完全に一致する場合、その開始時点を返します。
- 入力が DATE 型の場合、DATE 型を返します。
-- 入力が DATETIME 型の場合、時刻部分が起点の時刻と同じ DATETIME 型の値を返します。
+- 入力が DATETIME 型の場合、起点の時刻部分と同じ時刻部分を持つ DATETIME 型の値を返します。
- 計算結果が日時の最大値 9999-12-31 23:59:59 を超える場合、エラーを返します。
-- `<origin>` の日時が `<period>` より後であっても、上記の式に従って計算されます。この場合、期間数 k は負の値になります。
-- date_or_time_expr に小数部の桁数がある場合、戻り値も同じ桁数を持ち、小数部はゼロになります。
-- 入力が TIMESTAMPTZ 型の場合、まず local_time に変換してから CEIL を計算します(例:`2025-12-31
23:59:59+05:00` は local_time の `2026-01-01 02:59:59` を表します。このとき、セッション変数は
`+08:00` です)。
-- 入力の時刻値(`<date_or_time_expr>` と `<period>`)に TIMESTAMPTZ 型と DATETIME
型が混在する場合、出力は DATETIME 型になります。
+- `<origin>` の日時が `<date_or_time_expr>` より後の場合も、上記の式に従って計算します。この場合、区間数 k
は負になります。
+- `date_or_time_expr` に小数秒の精度がある場合、結果にも対応する精度が保持されます。`origin`
に小数秒が含まれる場合、区間の境界にもその小数秒が保持されます。Doris 4.1 系では 4.1.5
以降、週の境界を比較するときにマイクロ秒が考慮され、入力と `origin` の差が小数秒のみである場合の切り上げが修正されています。
+- 入力が TIMESTAMPTZ 型の場合、まず local_time に変換し(たとえば、セッション変数が `+08:00`
の場合、`2025-12-31 23:59:59+05:00` は local_time の `2026-01-01 02:59:59` を表します)、その後
CEIL 計算を実行します。
+- 入力の時刻値(`<date_or_time_expr>` と `<origin>`)に TIMESTAMPTZ 型と DATETIME
型の両方が含まれる場合、出力は DATETIME 型になります。
-## 例
+<a id="examples"></a>
+
+## 例 {#example}
```sql
-- 2023-07-13 is Thursday, rounds up to next interval start (1-week interval
starts on Monday, so rounds to 2023-07-17 (Monday))
SELECT WEEK_CEIL(cast('2023-07-13 22:28:18' as datetime)) AS result;
+```
+
+```text
+---------------------+
| result |
+---------------------+
| 2023-07-17 00:00:00 |
+---------------------+
+```
+```sql
-- Specify 2-week interval
SELECT WEEK_CEIL('2023-07-13 22:28:18', 2) AS result;
+```
+
+```text
+---------------------+
| result |
+---------------------+
| 2023-07-24 00:00:00 |
+---------------------+
+```
+```sql
-- Input date type returns date type, date string returns datetime
SELECT WEEK_CEIL(cast('2023-07-13' as date));
+```
+
+```text
+---------------------------------------+
| WEEK_CEIL(cast('2023-07-13' as date)) |
+---------------------------------------+
| 2023-07-17 |
+---------------------------------------+
+```
+
+```sql
+--input with decimal part
+SELECT WEEK_CEIL('2023-07-13 22:28:18.123', 2) AS result;
+```
---input with decimal part
-mysql> SELECT WEEK_CEIL('2023-07-13 22:28:18.123', 2) AS result;
+```text
+-------------------------+
| result |
+-------------------------+
| 2023-07-24 00:00:00.000 |
+-------------------------+
+```
+```sql
-- Only with origin date and specified date
select week_ceil("2023-07-13 22:28:18", "2021-05-01 12:00:00");
+```
+
+```text
+---------------------------------------------------------+
| week_ceil("2023-07-13 22:28:18", "2021-05-01 12:00:00") |
+---------------------------------------------------------+
| 2023-07-15 12:00:00 |
+---------------------------------------------------------+
+```
+```sql
-- Specify origin date
SELECT WEEK_CEIL('2023-07-13', 1, '2023-07-03') AS result;
+```
+
+```text
+---------------------+
| result |
+---------------------+
| 2023-07-17 00:00:00 |
+---------------------+
+```
+```sql
-- TimeStampTz sample, SET time_zone = '+08:00'
-- Convert to local_time (2026-01-01 02:59:59) and then perform WEEK_CEIL
SELECT WEEK_CEIL('2025-12-31 23:59:59+05:00');
+```
+
+```text
+----------------------------------------+
| WEEK_CEIL('2025-12-31 23:59:59+05:00') |
+----------------------------------------+
-| 2026-01-05 00:00:00 |
+| 2026-01-05 00:00:00+08:00 |
+----------------------------------------+
+```
+```sql
-- If parameters contain both TimeStampTz and Datetime types, output DateTime
type
SELECT WEEK_CEIL('2025-12-31 23:59:59+05:00', '2025-12-15 00:00:00.123');
+```
+
+```text
+-------------------------------------------------------------------+
| WEEK_CEIL('2025-12-31 23:59:59+05:00', '2025-12-15 00:00:00.123') |
+-------------------------------------------------------------------+
| 2026-01-05 00:00:00.123 |
+-------------------------------------------------------------------+
+```
+```sql
-- Invalid period (non-positive integer)
SELECT WEEK_CEIL('2023-07-13', 0) AS result;
+```
+
+```text
ERROR 1105 (HY000): errCode = 2, detailMessage = (10.16.10.3)[E-218]Operation
week_ceil of 2023-07-13 00:00:00, 0 out of range
+```
+```sql
-- Parameter is NULL
SELECT WEEK_CEIL(NULL, 1) AS result;
+```
+
+```text
+--------+
| result |
+--------+
| NULL |
+--------+
```
+
+区間の境界と完全に一致する入力は変更されません:
+
+```sql
+SELECT WEEK_CEIL('2023-07-24 00:00:00', 2);
+```
+
+```text
+2023-07-24 00:00:00
+```
+
+マイクロ秒を含む起点を使用した週の境界(Doris 4.1 系の 4.1.5 以降で修正):
+
+```sql
+SELECT WEEK_CEIL(CAST('2024-01-08 00:00:00.600000' AS DATETIME(6)),
+ 1, CAST('2024-01-01 00:00:00.500000' AS DATETIME(6)));
+```
+
+```text
+2024-01-15 00:00:00.500000
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.md
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.md
index a9a2b04f9a71..a7353a29aed9 100644
---
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.md
+++
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.md
@@ -2,13 +2,13 @@
{
"title": "WEEK_FLOOR",
"language": "ja",
- "description": "WEEKFLOOR 関数は、入力した日時を、WEEK
を単位とする指定された週数の間隔で直近の開始時刻に切り下げます。"
+ "description": "WEEK_FLOOR 関数は、入力日時を、WEEK を単位とする指定された週の間隔の開始時刻に切り下げます。"
}
---
-## 説明
+## 説明 {#description}
-WEEK_FLOOR 関数は、入力した日時を、WEEK
を単位とする指定された週数の間隔で直近の開始時刻に切り下げます。基準となる開始時刻(origin)を指定した場合は、その時刻を基準に間隔を計算します。指定しない場合は、0000-01-01
00:00:00 を基準とします。
+WEEK_FLOOR 関数は、入力日時を、WEEK
を単位とする指定された週の間隔の開始時刻に切り下げます。基準となる開始点(origin)を指定した場合は、その点を基準に間隔を計算します。指定しない場合は、0001-01-01
00:00:00 を基準点として使用します。
日付の計算式:
$$
@@ -16,118 +16,189 @@ $$
$$
$k$ は、基準時刻から対象時刻までの間隔の数を表します。
-## 構文
+## 構文 {#syntax}
```sql
-WEEK_FLOOR(`<date_or_time_expr>`)
-WEEK_FLOOR(`<date_or_time_expr>`, `<origin>`)
-WEEK_FLOOR(`<date_or_time_expr>`, `<period>`)
-WEEK_FLOOR(`<date_or_time_expr>`, `<period>`, `<origin>`)
+WEEK_FLOOR(<date_or_time_expr>)
+WEEK_FLOOR(<date_or_time_expr>, <origin>)
+WEEK_FLOOR(<date_or_time_expr>, <period>)
+WEEK_FLOOR(<date_or_time_expr>, <period>, <origin>)
```
-## パラメータ
+## パラメータ {#parameters}
| パラメータ | 説明 |
|-----------|-------------|
-| `<date_or_time_expr>` | 切り下げる日時値。DATE、DATETIME、TIMESTAMP_NS、TIMESTAMPTZ
型に対応しています。DATE 型は、該当する日付の開始時刻 00:00:00 に変換されます。形式については、[timestamptz
の変換](../../../../sql-manual/basic-element/sql-data-types/conversion/timestamptz-conversion)、[datetime
の変換](../../../../sql-manual/basic-element/sql-data-types/conversion/datetime-conversion)、[date
の変換](../../../../sql-manual/basic-element/sql-data-types/conversion/date-conversion)を参照してください。
|
-| `<period>` | 週単位の間隔。型は INT で、各間隔に含まれる週数を表します。 |
-| `<origin>` | 間隔の開始基準点。DATE、DATETIME、TIMESTAMP_NS 型に対応します。省略時は 0000-01-01
00:00:00 です。 |
+| `<date_or_time_expr>` | 切り下げる日時値。DATE/DATETIME/TIMESTAMP_NS/TIMESTAMPTZ
型をサポートします。DATE 型は、該当する日付の開始時刻である 00:00:00 に変換されます。具体的な形式については [timestamptz
の変換](../../../../sql-manual/basic-element/sql-data-types/conversion/timestamptz-conversion)
を、日時と日付の形式については [datetime
の変換](../../../../sql-manual/basic-element/sql-data-types/conversion/datetime-conversion)
と [date
の変換](../../../../sql-manual/basic-element/sql-data-types/conversion/date-conversion)
を参照してください |
+| `<period>` | 週の間隔を表す INT 型の値。各間隔に含まれる週数を指定します |
+| `<origin>` | 間隔の開始点。DATE/DATETIME/TIMESTAMP_NS 型をサポートします。デフォルトは 0001-01-01
00:00:00 です |
-## 戻り値
+## 戻り値 {#return-value}
-`TIMESTAMP_NS` 型の入力に対しては、小数秒が常に九桁の `TIMESTAMP_NS`
型を返します。結果は戻り値の型の有効範囲に照らして検証されます。`TIMESTAMP_NS` 型の範囲は `[1677-09-21
00:12:43.145224192, 2262-04-11 23:47:16.854775807]` です。
+`TIMESTAMP_NS` 型の入力に対しては、小数秒が固定の九桁精度の `TIMESTAMP_NS`
型を返します。結果は戻り値の型の範囲に収まるか検証されます。`TIMESTAMP_NS` 型の範囲は `[1677-09-21
00:12:43.145224192, 2262-04-11 23:47:16.854775807]` です。
-`<origin>` を省略した `TIMESTAMP_NS`
型の入力では、上記のデフォルトの基準時刻は内部で間隔をそろえるためだけに使われるため、`TIMESTAMP_NS` 型で格納できる範囲内にある必要はありません。
+`<origin>` を省略した `TIMESTAMP_NS`
型の入力では、文書に記載されたデフォルトの開始点は内部的な間隔の基準としてのみ使用されます。この開始点が、`TIMESTAMP_NS`
型で格納可能な範囲に収まる必要はありません。
-入力引数から決まる日時型で、切り下げ後の日時値を返します。結果の時刻部分は origin の時刻に設定されます。
+入力引数に基づいて選択された時間型で、切り下げ後の日時値を返します。結果の時刻部分には origin の時刻が設定されます。
-- `<period>` が正の値でない(≤0)場合は、エラーを返します。
-- いずれかの引数が NULL の場合は、NULL を返します。
-- `<datetime>` が(`<period>` と `<origin>` に基づく)間隔の開始点と完全に一致する場合は、その開始点を返します。
-- 入力が DATE 型の場合は、DATE 型を返します。
-- 入力が DATETIME 型の場合は、origin と同じ時刻部分を持つ DATETIME 型を返します。
-- `<origin>` の日時が `<period>` より後であっても、上記の式に従って計算されます。この場合、間隔を表す k は負になります。
-- date_or_time_expr に小数秒の桁数がある場合は、戻り値にも同じ桁数があり、小数部分はゼロになります。
-- 入力が TIMESTAMPTZ 型の場合は、最初に local_time に変換してから FLOOR を計算します。たとえば、`2025-12-31
23:59:59+05:00` は現地時刻 `2026-01-01 02:59:59` を表します(セッション変数が `+08:00` の場合)。
-- 入力値(`<date_or_time_expr>` と `<period>`)に TIMESTAMPTZ 型と DATETIME
型の両方が含まれる場合、出力は DATETIME 型になります。
+- 入力が NULL ではなく、`<period>` が正の値でない(≤0)場合、エラーを返します。
+- いずれかのパラメータが NULL の場合、NULL を返します。
+- `<datetime>` が(`<period>` と `<origin>` に基づく)間隔の開始点と完全に一致する場合、その開始点を返します。
+- 入力が date 型の場合、date 型を返します。
+- 入力が datetime 型の場合、origin と同じ時刻部分を持つ datetime 型を返します。
+- `<origin>` の日時が `<date_or_time_expr>` より後であっても、上記の式に従って計算されます。この場合、間隔を表す k
は負の値になります。
+- `date_or_time_expr` にスケールがある場合、結果は対応する精度を維持します。`origin`
に小数秒が含まれる場合、間隔の境界もその小数秒を維持します。Doris 4.1 系列の 4.1.5 以降では、週の境界の比較でマイクロ秒が考慮され、入力と
`origin` の差が小数秒部分だけの場合の切り下げが修正されています。
+- 入力が TIMESTAMPTZ 型の場合、まず local_time に変換され(例:セッション変数が `+08:00` の場合、`2025-12-31
23:59:59+05:00` は local_time の `2026-01-01 02:59:59` を表します)、その後で FLOOR
の計算が行われます。
+- 入力時刻の値(`<date_or_time_expr>` と `<origin>`)に TIMESTAMPTZ 型と DATETIME
型の両方が含まれる場合、出力は DATETIME 型になります。
-## 例
+<a id="examples"></a>
+
+## 例 {#example}
```sql
-- 2023-07-13 is Thursday, default 1-week interval (starting Monday), rounds
down to nearest Monday (2023-07-10)
SELECT WEEK_FLOOR(cast('2023-07-13 22:28:18' as datetime)) AS result;
+```
+
+```text
+---------------------+
| result |
+---------------------+
| 2023-07-10 00:00:00 |
+---------------------+
+```
+```sql
-- Specify 2-week interval, rounds down to nearest 2-week interval start
SELECT WEEK_FLOOR('2023-07-13 22:28:18', 2) AS result;
+```
+
+```text
+---------------------+
| result |
+---------------------+
| 2023-07-10 00:00:00 |
+---------------------+
+```
+```sql
-- input with decimal part
-mysql> SELECT WEEK_FLOOR('2023-07-13 22:28:18.123', 2) AS result;
+SELECT WEEK_FLOOR('2023-07-13 22:28:18.123', 2) AS result;
+```
+
+```text
+-------------------------+
| result |
+-------------------------+
| 2023-07-10 00:00:00.000 |
+-------------------------+
+```
+```sql
-- Input date type, returns date type
SELECT WEEK_FLOOR(cast('2023-07-13' as date)) AS result;
+```
+
+```text
+------------+
| result |
+------------+
| 2023-07-10 |
+------------+
+```
+```sql
-- Only with origin date and specified date
select week_floor("2023-07-13 22:28:18", "2021-05-01 12:00:00");
+```
+
+```text
+----------------------------------------------------------+
| week_floor("2023-07-13 22:28:18", "2021-05-01 12:00:00") |
+----------------------------------------------------------+
| 2023-07-08 12:00:00 |
+----------------------------------------------------------+
+```
+```sql
-- Specify origin='2023-07-03' (Monday), 1-week interval
SELECT WEEK_FLOOR('2023-07-13', 1, '2023-07-03') AS result;
+```
+
+```text
+---------------------+
| result |
+---------------------+
| 2023-07-10 00:00:00 |
+---------------------+
+```
+```sql
-- TimeStampTz sample, SET time_zone = '+08:00'
-- Convert to local_time (2026-01-01 02:59:59) and then perform WEEK_FLOOR
SELECT WEEK_FLOOR('2025-12-31 23:59:59+05:00');
+```
+
+```text
+-----------------------------------------+
| WEEK_FLOOR('2025-12-31 23:59:59+05:00') |
+-----------------------------------------+
| 2025-12-29 00:00:00+08:00 |
+-----------------------------------------+
+```
+```sql
-- If parameters contain both TimeStampTz and Datetime types, output DateTime
type
SELECT WEEK_FLOOR('2025-12-31 23:59:59+05:00', '2025-12-15 00:00:00.123');
+```
+
+```text
+--------------------------------------------------------------------+
| WEEK_FLOOR('2025-12-31 23:59:59+05:00', '2025-12-15 00:00:00.123') |
+--------------------------------------------------------------------+
| 2025-12-29 00:00:00.123 |
+--------------------------------------------------------------------+
+```
+```sql
-- Invalid period, returns error
SELECT WEEK_FLOOR('2023-07-13', 0) AS result;
+```
+
+```text
ERROR 1105 (HY000): errCode = 2, detailMessage = (10.16.10.3)[E-218]Operation
week_floor of 2023-07-13 00:00:00, 0 out of range
+```
+```sql
-- Parameter is NULL
SELECT WEEK_FLOOR(NULL, 1) AS result;
+```
+
+```text
+--------+
| result |
+--------+
| NULL |
+--------+
```
+
+間隔の境界と完全に一致する入力は変更されません。
+
+```sql
+SELECT WEEK_FLOOR('2023-07-10 00:00:00', 2);
+```
+
+```text
+2023-07-10 00:00:00
+```
+
+マイクロ秒を含む origin による週の境界(Doris 4.1 系列の 4.1.5 以降で修正):
+
+```sql
+SELECT WEEK_FLOOR(CAST('2024-01-08 00:00:00.400000' AS DATETIME(6)),
+ 1, CAST('2024-01-01 00:00:00.500000' AS DATETIME(6)));
+```
+
+```text
+2024-01-01 00:00:00.500000
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.md
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.md
index aba841b726bb..4159112be31b 100644
---
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.md
+++
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.md
@@ -6,47 +6,53 @@
}
---
-## 説明
+## 説明 {#description}
`JSON_EXTRACT_STRING` は JSON オブジェクトから `<json_path>`
で指定したフィールドを抽出し、[`STRING`](../../../basic-element/sql-data-types/string-type/STRING.md)
型に変換します。
-## 構文
+## 構文 {#syntax}
```sql
JSON_EXTRACT_STRING(<json_object>, <json_path>)
```
-## パラメータ
-- `<json_object>`: 抽出元となる JSON 型のパラメータです。
-- `<json_path>`: 対象の JSON から要素を抽出するための文字列型の JSON パスです。
+## パラメータ {#parameters}
-## 戻り値
-`Nullable(STRING)` 型の抽出した文字列値を返します。場合によっては NULL を返します。
+| パラメータ | 説明 |
+| --- | --- |
+| `<json_object>` | 必須。JSON 値、または JSON に変換できる有効な JSON テキスト。 |
+| `<json_path>` | 必須。STRING 型の JSON パス。配列を走査するには明示的なワイルドカードを使用します。 |
-## 使用上の注意
-1. `<json_object>` または `<json_path>` が NULL の場合は NULL を返します。
-2. `<json_path>` で指定した要素が存在しない場合は NULL を返します。
-3. `<json_path>` で指定した要素を STRING 型に変換できない場合は NULL を返します。
-4. 動作は「cast + json_extract」と同じで、次の式に相当します。
+## 戻り値 {#return-value}
+`Nullable(STRING)` 抽出した STRING 値を返します。場合によっては NULL を返します。
+
+## 使用上の注意 {#usage-notes}
+1. `<json_object>` または `<json_path>` が NULL の場合、NULL を返します。
+2. `<json_path>` で指定した要素が存在しない場合、NULL を返します。
+3. `<json_path>` で指定した要素を STRING に変換できない場合、NULL を返します。
+4. 動作は "cast + json_extract" と同じで、次の式と等価です。
```sql
CAST(JSON_EXTRACT(<json_object>, <json_path>) as STRING)
```
- したがって、`<json_path>` が指す値が STRING 型でなくても、STRING 型への変換に対応していれば変換後の値を取得できます。
-5. ここで返される文字列には二重引用符(")は含まれません。
-6. JSON オブジェクト内の null 値に対しては、NULL ではなく文字列の "null" を返します。
+ そのため、`<json_path>` が指すオブジェクトが STRING 型でなくても、STRING 型に変換できれば、変換後の値を取得できます。
+5. 返される STRING には二重引用符(")は含まれません。
+6. JSON オブジェクト内の null 値の場合、結果は NULL ではなく文字列 "null" になります。
要素が null かどうかを確認するには、[`JSON_EXTRACT_ISNULL`](./json-extract-isnull.md)
関数を使用してください。
-## 例
+## 例 {#examples}
1. 通常のパラメータ
```sql
SELECT json_extract_string('{"id": 123, "name": "doris"}', '$.name');
```
```text
- +---------------------------------------------------------------+
+```
+
+```text
++---------------------------------------------------------------+
| json_extract_string('{"id": 123, "name": "doris"}', '$.name') |
+---------------------------------------------------------------+
| doris |
+---------------------------------------------------------------+
```
-2. パスが存在しない場合
+2. Case where path does not exist
```sql
SELECT json_extract_string('{"id": 123, "name": "doris"}', '$.name2');
```
@@ -57,7 +63,7 @@ JSON_EXTRACT_STRING(<json_object>, <json_path>)
| NULL |
+----------------------------------------------------------------+
```
-3. NULL パラメータ
+3. NULL parameters
```sql
SELECT json_extract_string('{"id": 123, "name": "doris"}', NULl);
```
@@ -78,7 +84,7 @@ JSON_EXTRACT_STRING(<json_object>, <json_path>)
| NULL |
+------------------------------------+
```
-4. 他の型を STRING 型に変換する場合
+4. Case where other types are converted to STRING
```sql
SELECT json_extract_string('{"id": 123, "name": "doris"}','$.id');
```
@@ -89,7 +95,7 @@ JSON_EXTRACT_STRING(<json_object>, <json_path>)
| 123 |
+------------------------------------------------------------+
```
-5. null 値は NULL ではなく文字列の "null" に変換される
+5. Null values will be converted to string "null" instead of NULL
```sql
SELECT json_extract_string('{"id": null, "name": "doris"}','$.id');
```
@@ -100,3 +106,20 @@ JSON_EXTRACT_STRING(<json_object>, <json_path>)
| null |
+-------------------------------------------------------------+
```
+
+### Extracting the same field from array elements (Doris 4.0 and later)
+
+Use `$[*].k1` to traverse array elements explicitly. `$.k1` only accesses
object members and does not implicitly traverse an array, so the direct path
below returns SQL `NULL`. Array elements without `k1` are omitted from the
matches.
+
+The result is a `STRING` containing JSON array text, rather than a SQL `ARRAY`.
+```sql
+SELECT
json_extract_string('[{"k1":"v1"},{"k2":"v2"},{"k1":"v3"},{"k1":"v4"}]',
'$.k1') AS direct_path,
+
json_extract_string('[{"k1":"v1"},{"k2":"v2"},{"k1":"v3"},{"k1":"v4"}]',
'$[*].k1') AS all_values;
+```
+
+```text
++-------------+------------------+
+| direct_path | all_values |
++-------------+------------------+
+| NULL | ["v1","v3","v4"] |
++-------------+------------------+
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.md
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.md
index 7d660d1f314b..d0500f6239ec 100644
---
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.md
+++
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.md
@@ -2,62 +2,71 @@
{
"title": "JSON_EXTRACT",
"language": "ja",
- "description": "JSON 型のデータから jsonpath で指定したフィールドを抽出します。"
+ "description": "JSON 型のデータから、jsonpath で指定したフィールドを抽出します。"
}
---
-## 説明
-JSON 型のデータから json_path で指定したフィールドを抽出します。
+## 説明 {#description}
+JSON 型のデータから、json_path で指定したフィールドを抽出します。
-## 構文
+## 構文 {#syntax}
```sql
JSON_EXTRACT (<json_object>, <path>[, <path2>, ...])
```
-## パラメータ
-### 必須パラメータ:
-- `<json_object>`: 抽出元となる JSON 型の式です。
-- `<path>`: 対象の JSON から要素を抽出するための JSON パスです。
-### 任意または可変長のパラメータ
-- `<path2>` JSON オブジェクトから抽出する追加のパスを指定できます。
+## パラメータ {#parameters}
-## 戻り値
+| パラメータ | 説明 |
+| --- | --- |
+| `<json_object>` | 必須。JSON 値、または JSON に変換できる有効な JSON テキスト。 |
+| `<path>` | 必須。STRING 型の JSON パス。配列をたどるには、ワイルドカードを明示的に使用します。 |
+| `<path2>, ...` | 省略可能な追加の STRING 型パス。一致した結果は JSON 配列にまとめられます。 |
+
+<a id="required-parameters"></a>
+<a id="optionalvariable-parameters"></a>
+
+## 戻り値 {#return-value}
+
+いずれかの引数が `NULL` の場合、またはどのパスも一致しない場合は、SQL の `NULL` を返します。
- `Nullable(JSON)`: `<path>` が指す JSON 要素を返します。複数の結果が一致した場合は、JSON 配列として返します。
-## 使用上の注意
-- `<json_object>` または `<path>` が NULL の場合は NULL を返します。
-- `<path>` を一つだけ指定し、その `<path>` が存在しない場合は NULL を返します。
-- 複数の `<path>` を指定した場合、存在しないパスは無視し、一致した要素を JSON 配列として返します。一致する要素がない場合は NULL
を返します。
-- `<path>` が有効なパスでない場合はエラーになります。
-- `<path>`
に対応する値が文字列の場合、戻り値の文字列は二重引用符(`"`)で囲まれます。二重引用符を除いた結果が必要な場合は、[`JSON_UNQUOTE`](./json-unquote.md)
関数を使用してください。
+## 使用上の注意 {#usage-notes}
+- `<json_object>` が NULL の場合、または `<path>` が NULL の場合は、NULL を返します。
+- `<path>` パラメータが単一の場合、その `<path>` が存在しなければ NULL を返します。
+- `<path>` パラメータが複数ある場合、存在しないパスは無視され、一致した要素が JSON 配列として返されます。一致するものがなければ NULL
を返します。
+- `<path>` が有効なパスでない場合は、エラーが報告されます。
+- `<path>`
に対応する値が文字列の場合、返される文字列は二重引用符(`"`)で囲まれます。二重引用符を含まない結果を得るには、[`JSON_UNQUOTE`](./json-unquote.md)
関数を使用してください。
- `<path>` の構文は次のとおりです。
- * `$` は JSON のルートを表します
- * `.k1` は JSON オブジェクト内のキー `k1` を持つ要素を表します
- * キーの値に "." が含まれる場合、`<path>` には二重引用符を使用してください。例: `SELECT
json_extract('{"k1.a":"abc","k2":300}', '$."k1.a"')`;
- * `[i]` は JSON 配列のインデックス i にある要素を表します
- * json_array の最後の要素には `$[last]`、最後から二番目の要素には `$[last-1]` を使用できます。
- * `*` はワイルドカードです。`$.*` はルートオブジェクトのすべてのメンバー、`$[*]` は配列のすべての要素を表します。
+ * `$` は JSON のルートを表します。
+ * `.k1` は JSON オブジェクト内のキー `k1` を持つ要素を表します。
+ * キーの値に "." が含まれる場合、`<path>` では二重引用符を使用する必要があります。例: `SELECT
json_extract('{"k1.a":"abc","k2":300}', '$."k1.a"')`。
+ * `[i]` は JSON 配列内のインデックス i の要素を表します。
+ * json_array の最後の要素を取得するには `$[last]`、最後から二番目の要素を取得するには `$[last-1]`
を使用できます。以降も同様です。
+ * `*` はワイルドカードを表します。`$.*` はルートオブジェクトのすべてのメンバー、`$[*]` は配列のすべての要素を表します。
* `**` は '$' と組み合わせて使用します。'$**' は複数階層のサブパスを含むすべてのパスを表します。
-- `<path>` にワイルドカード(`*`)が含まれる場合、一致した結果を配列として返します。
-- `<path>` は配列の各要素に自動適用されません。`<json_object>` が JSON 配列で `<path>` が `$.k`
の場合、`$.k` はオブジェクトのメンバーのみをたどるため、結果は NULL です。インデックスで要素を指定するには `$[i].k`
を使用します。配列の各要素からフィールドを抽出するには、Doris 4.0 以降でサポートされるワイルドカード構文 `$[*].k` を使用します。
+- `<path>` にワイルドカード(`*`)が含まれる場合、一致した結果は配列形式で返されます。
+- `<path>` は配列の各要素を自動的にはたどりません。`<json_object>` が JSON 配列で、`<path>` が `$.k`
の場合、結果は NULL です。`$.k` はオブジェクトのメンバーのみをたどります。インデックスを指定して要素を対象にするには `$[i].k`
を使用します。配列のすべての要素からフィールドを抽出するには、Doris 4.0 以降でサポートされるワイルドカード構文 `$[*].k` を使用します。
-## 例
-1. 通常のパラメータ
+## 例 {#examples}
+1. 一般的なパラメータ
```sql
SELECT JSON_EXTRACT('{"k1":"v31","k2":300}', '$.k1');
```
- ```
- +-----------------------------------------------+
+ ```text
+```
+
+```text
++-----------------------------------------------+
| JSON_EXTRACT('{"k1":"v31","k2":300}', '$.k1') |
+-----------------------------------------------+
| "v31" |
+-----------------------------------------------+
```
-> 注: 戻り値は `"v31"` です。`v31` ではありません。
+> 注: 返される結果は `v31` ではなく `"v31"` です。
2. NULL パラメータ
```sql
select JSON_EXTRACT(null, '$.k1');
```
- ```
+ ```text
+----------------------------+
| JSON_EXTRACT(null, '$.k1') |
+----------------------------+
@@ -68,7 +77,7 @@ JSON_EXTRACT (<json_object>, <path>[, <path2>, ...])
```sql
SELECT JSON_EXTRACT('{"k1":"v31","k2":300}', NULL);
```
- ```
+ ```text
+---------------------------------------------+
| JSON_EXTRACT('{"k1":"v31","k2":300}', NULL) |
+---------------------------------------------+
@@ -79,7 +88,7 @@ JSON_EXTRACT (<json_object>, <path>[, <path2>, ...])
```sql
SELECT JSON_EXTRACT('{"k1":"v31","k2":{"sub_key": 1234.56}}',
'$.k2.sub_key');
```
- ```
+ ```text
+------------------------------------------------------------------------+
| JSON_EXTRACT('{"k1":"v31","k2":{"sub_key": 1234.56}}', '$.k2.sub_key') |
+------------------------------------------------------------------------+
@@ -90,7 +99,7 @@ JSON_EXTRACT (<json_object>, <path>[, <path2>, ...])
```sql
SELECT JSON_EXTRACT(json_array("abc", 123, cast(now() as string)), '$[2]');
```
- ```
+ ```text
+----------------------------------------------------------------------+
| JSON_EXTRACT(json_array("abc", 123, cast(now() as string)), '$[2]') |
+----------------------------------------------------------------------+
@@ -101,7 +110,7 @@ JSON_EXTRACT (<json_object>, <path>[, <path2>, ...])
```sql
SELECT JSON_EXTRACT('{"k1":"v31","k2":300}', '$.k3');
```
- ```
+ ```text
+-----------------------------------------------+
| JSON_EXTRACT('{"k1":"v31","k2":300}', '$.k3') |
+-----------------------------------------------+
@@ -112,29 +121,29 @@ JSON_EXTRACT (<json_object>, <path>[, <path2>, ...])
```sql
select JSON_EXTRACT('{"id": 123, "name": "doris"}', '$.name', '$.id',
'$.not_exists');
```
- ```
+ ```text
+--------------------------------------------------------------------------------+
| JSON_EXTRACT('{"id": 123, "name": "doris"}', '$.name', '$.id',
'$.not_exists') |
+--------------------------------------------------------------------------------+
| ["doris",123]
|
+--------------------------------------------------------------------------------+
```
- > 一致する要素が一つだけでも、配列として返します
+ > 一致するものが一つだけでも、配列形式で返されます。
```sql
SELECT json_extract('{"id": 123, "name": "doris"}', '$.aaa', '$.name');
```
- ```
+ ```text
+-----------------------------------------------------------------+
| json_extract('{"id": 123, "name": "doris"}', '$.aaa', '$.name') |
+-----------------------------------------------------------------+
| ["doris"] |
+-----------------------------------------------------------------+
```
- > どのパスにも一致する要素がない場合は NULL を返します
+ > すべてのパスで一致するものがなければ、NULL を返します。
```sql
select JSON_EXTRACT('{"id": 123, "name": "doris"}', '$.k1', '$.k2',
'$.not_exists');
```
- ```
+ ```text
+------------------------------------------------------------------------------+
| JSON_EXTRACT('{"id": 123, "name": "doris"}', '$.k1', '$.k2',
'$.not_exists') |
+------------------------------------------------------------------------------+
@@ -142,11 +151,11 @@ JSON_EXTRACT (<json_object>, <path>[, <path2>, ...])
+------------------------------------------------------------------------------+
```
-8. ワイルドカードを使うパス
+8. ワイルドカードを含むパス
```sql
select json_extract('{"k": [1,2,3,4,5]}', '$.k[*]');
```
- ```
+ ```text
+----------------------------------------------+
| json_extract('{"k": [1,2,3,4,5]}', '$.k[*]') |
+----------------------------------------------+
@@ -156,7 +165,7 @@ JSON_EXTRACT (<json_object>, <path>[, <path2>, ...])
```sql
select json_extract('{"k": [1,2,3,4,5], "k2": "abc", "k3": {"k4": "v4"}}',
'$.*', '$.k3.k4');
```
- ```
+ ```text
+---------------------------------------------------------------------------------------+
| json_extract('{"k": [1,2,3,4,5], "k2": "abc", "k3": {"k4": "v4"}}',
'$.*', '$.k3.k4') |
+---------------------------------------------------------------------------------------+
@@ -179,7 +188,7 @@ JSON_EXTRACT (<json_object>, <path>[, <path2>, ...])
```sql
select JSON_EXTRACT('{"id": 123, "name": null}', '$.name') v,
JSON_EXTRACT('{"id": 123, "name": null}', '$.name') is null v2;
```
- ```
+ ```text
+------+------+
| v | v2 |
+------+------+
@@ -187,26 +196,42 @@ JSON_EXTRACT (<json_object>, <path>[, <path2>, ...])
+------+------+
```
-11. JSON 配列の各要素からフィールドを抽出する(Doris 4.0+)
+11. JSON 配列の各要素からフィールドを抽出する場合(Doris 4.0 以降)
```sql
select json_extract('[{"k":1},{"k":2},{"k":3}]', '$.k');
```
- ```
+ ```text
+--------------------------------------------------+
| json_extract('[{"k":1},{"k":2},{"k":3}]', '$.k') |
+--------------------------------------------------+
| NULL |
+--------------------------------------------------+
```
- > `$.k` は配列をたどらず、オブジェクトのメンバーだけをたどります。
+ > `$.k` は配列をたどらず、オブジェクトのメンバーのみをたどります。
```sql
select json_extract('[{"k":1},{"k":2},{"k":3}]', '$[*].k');
```
- ```
+ ```text
+-----------------------------------------------------+
| json_extract('[{"k":1},{"k":2},{"k":3}]', '$[*].k') |
+-----------------------------------------------------+
| [1,2,3] |
+-----------------------------------------------------+
```
- > 配列の各要素からフィールドを抽出するには `$[*].k` を使用します。
+ > 配列のすべての要素からフィールドを抽出するには、`$[*].k` を使用します。
+
+### 配列の各要素から同じフィールドを抽出する(Doris 4.0 以降)
{#extracting-the-same-field-from-array-elements-doris-40-and-later}
+
+配列の要素を明示的にたどるには `$[*].k1` を使用します。`$.k1`
はオブジェクトのメンバーにのみアクセスし、配列を暗黙的にはたどらないため、以下の直接指定したパスは SQL の `NULL` を返します。`k1`
がない配列要素は、一致した結果から除外されます。
+```sql
+SELECT json_extract('[{"k1":"v1"},{"k2":"v2"},{"k1":"v3"},{"k1":"v4"}]',
'$.k1') AS direct_path,
+ json_extract('[{"k1":"v1"},{"k2":"v2"},{"k1":"v3"},{"k1":"v4"}]',
'$[*].k1') AS all_values;
+```
+
+```text
++-------------+------------------+
+| direct_path | all_values |
++-------------+------------------+
+| NULL | ["v1","v3","v4"] |
++-------------+------------------+
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.md
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.md
index 417c3adbb383..3fb82120a3c6 100644
---
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.md
+++
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.md
@@ -2,11 +2,11 @@
{
"title": "FORMAT_ROUND",
"language": "ja",
- "description": "数値を「#,###,###.##」のような形式に整形し、指定した小数点以下の桁数に丸めて、文字列として返します。"
+ "description": "数値を\"#,###,###.##\"のような形式に整形し、指定した小数点以下の桁数に丸めて、文字列として返します。"
}
---
-## 説明
+## 説明 {#description}
数値を「#,###,###.##」のような形式に整形し、指定した小数点以下の桁数に丸めて、文字列として返します。
@@ -14,31 +14,36 @@
この関数はバージョン 3.0.6 以降でサポートされています。
:::
-## 構文
+## 構文 {#syntax}
```sql
FORMAT_ROUND(<number>, <D>)
```
-## パラメータ
+## パラメータ {#parameters}
| パラメータ | 説明 |
| -- | -- |
| `<number>` | 整形する数値 |
| `<D>` | 小数点以下の桁数。範囲は [0, 1024] |
-## 戻り値
+## 戻り値 {#return-value}
-整形した文字列を返します。特殊なケースは次のとおりです。
+STRING 型の整形された文字列を返します。特殊なケースは次のとおりです。
-- 引数が NULL の場合は NULL を返します。
-- D が 0 の場合、結果には小数点と小数部分が含まれません。
-- D が [0, 1024] の範囲外の場合、引数をこの範囲内に指定する必要があることを示すエラーを返します。
+- パラメータが NULL の場合は NULL を返します。
+- D が 0 の場合、結果に小数点や小数部は含まれません。Doris 4.1 系の 4.1.5 以降では、D が 0 のとき DECIMAL
入力も丸められます。それ以前のバージョンでは、丸めずに小数部を切り捨てることがありました。
+- D が [0, 1024] の範囲外の場合、引数がこの範囲内である必要があることを示すエラーが返されます。
-## 例
+<a id="examples"></a>
+
+## 例 {#example}
```sql
-mysql> select format_round(17014116, 2);
+select format_round(17014116, 2);
+```
+
+```text
+---------------------------+
| format_round(17014116, 2) |
+---------------------------+
@@ -47,7 +52,10 @@ mysql> select format_round(17014116, 2);
```
```sql
-mysql> select format_round(1123.456, 2);
+select format_round(1123.456, 2);
+```
+
+```text
+---------------------------+
| format_round(1123.456, 2) |
+---------------------------+
@@ -56,7 +64,10 @@ mysql> select format_round(1123.456, 2);
```
```sql
-mysql> select format_round(1123.4, 2);
+select format_round(1123.4, 2);
+```
+
+```text
+-------------------------+
| format_round(1123.4, 2) |
+-------------------------+
@@ -65,7 +76,10 @@ mysql> select format_round(1123.4, 2);
```
```sql
-mysql> select format_round(123456, 0);
+select format_round(123456, 0);
+```
+
+```text
+-------------------------+
| format_round(123456, 0) |
+-------------------------+
@@ -74,7 +88,10 @@ mysql> select format_round(123456, 0);
```
```sql
-mysql> select format_round(123456, 3);
+select format_round(123456, 3);
+```
+
+```text
+-------------------------+
| format_round(123456, 3) |
+-------------------------+
@@ -83,7 +100,10 @@ mysql> select format_round(123456, 3);
```
```sql
-mysql> select format_round(123456.123456, 0);
+select format_round(123456.123456, 0);
+```
+
+```text
+--------------------------------+
| format_round(123456.123456, 0) |
+--------------------------------+
@@ -92,7 +112,10 @@ mysql> select format_round(123456.123456, 0);
```
```sql
-mysql> select format_round(123456.123456, 3);
+select format_round(123456.123456, 3);
+```
+
+```text
+--------------------------------+
| format_round(123456.123456, 3) |
+--------------------------------+
@@ -101,7 +124,10 @@ mysql> select format_round(123456.123456, 3);
```
```sql
-mysql> select format_round(123456.123456, 6);
+select format_round(123456.123456, 6);
+```
+
+```text
+--------------------------------+
| format_round(123456.123456, 6) |
+--------------------------------+
@@ -110,8 +136,40 @@ mysql> select format_round(123456.123456, 6);
```
```sql
-mysql> SELECT format_round(-0.01, -1);
+SELECT format_round(-0.01, -1);
+```
+
+```text
ERROR 1105 (HY000): errCode = 2, detailMessage =
(127.0.0.1)[INVALID_ARGUMENT]The second argument is -1, it should be in range
[0, 1024].
-mysql> SELECT format_round(-0.01, -1500);
+```
+
+```sql
+SELECT format_round(-0.01, -1500);
+```
+
+```text
ERROR 1105 (HY000): errCode = 2, detailMessage =
(127.0.0.1)[INVALID_ARGUMENT]The second argument is -1500, it should be in
range [0, 1024].
```
+
+DECIMAL 入力を小数点以下ゼロ桁に丸める:
+
+```sql
+SELECT FORMAT_ROUND(CAST(1.9 AS DECIMAL(9, 1)), 0),
+ FORMAT_ROUND(CAST(-1.9 AS DECIMAL(9, 1)), 0),
+ FORMAT_ROUND(CAST(1.4 AS DECIMAL(9, 1)), 0),
+ FORMAT_ROUND(CAST(-1.4 AS DECIMAL(9, 1)), 0);
+```
+
+```text
+2 -2 1 -1
+```
+
+NULL 入力:
+
+```sql
+SELECT FORMAT_ROUND(NULL, 2);
+```
+
+```text
+NULL
+```
diff --git
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.md
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.md
index af785bb836de..672a12ed2abe 100644
---
a/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.md
+++
b/i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.md
@@ -2,35 +2,73 @@
{
"title": "MULTI_MATCH_ANY",
"language": "ja",
- "description": "文字列 haystack が RE2 構文の正規表現 patterns に一致するかどうかを確認します。"
+ "description": "文字列が配列内のいずれかの正規表現に一致するかを判定します。"
}
---
-## multi_match_any
-### 説明
-#### 構文
+<a id="multi_match_any"></a>
-`TINYINT multi_match_any(VARCHAR haystack, ARRAY<VARCHAR> patterns)`
+## 説明 {#description}
+`<haystack>` が `<patterns>` 内のいずれかの正規表現に一致するかを判定します。デフォルトでは大文字と小文字を区別します。`0`
を返し、`NULL` は返しません。これは、いずれかの引数が `NULL` の場合も同じです。
-文字列 `haystack` が RE2 構文の正規表現 `patterns` に一致するかどうかを確認します。どの正規表現にも一致しない場合は
0、いずれかのパターンに一致する場合は 1 を返します。
+## 構文 {#syntax}
-### 例
+```sql
+MULTI_MATCH_ANY(<haystack>, <patterns>)
+```
+
+## パラメータ {#parameters}
+
+| パラメータ | 説明 |
+| --- | --- |
+| `<haystack>` | 入力文字列。型は `STRING` です。 |
+| `<patterns>` | 正規表現の配列。型は `ARRAY<STRING>` です。各パターン要素には `NULL`
以外の文字列を指定してください。 |
+
+## 戻り値 {#return-value}
+
+戻り値の型は `TINYINT` です。いずれかの正規表現が一致すると `1`、それ以外の場合は `0` を返します。`0`
を返すのは、パターン配列が空の場合と、いずれかの引数が `NULL` の場合です。
+
+この関数は Hyperscan/VectorScan
正規表現エンジンを使用します。無効なパターンやサポートされていないパターンを指定すると、エラーが発生します。定数の入力文字列と、定数ではないパターン配列の列は組み合わせられません。この組み合わせを指定すると、引数エラーが発生します。
+
+## 例 {#example}
+
+```sql
+SELECT multi_match_any('Hello, World!', ['hello', '!', 'world']) AS matched;
+```
+
+```text
+1
+```
+```sql
+SELECT multi_match_any('abc', ['A', 'bcd']) AS matched;
```
-mysql> select multi_match_any('Hello, World!', ['hello', '!', 'world']);
-+-----------------------------------------------------------+
-| multi_match_any('Hello, World!', ['hello', '!', 'world']) |
-+-----------------------------------------------------------+
-| 1 |
-+-----------------------------------------------------------+
-mysql> select multi_match_any('abc', ['A', 'bcd']);
-+--------------------------------------+
-| multi_match_any('abc', ['A', 'bcd']) |
-+--------------------------------------+
-| 0 |
-+--------------------------------------+
+```text
+0
```
-### キーワード
- MULTI_MATCH,MATCH,ANY
+
+正規表現は、文字どおりの部分文字列を検索するのではなく、パターンによる照合を行います。
+
+```sql
+SELECT multi_match_any('abc123', ['[0-9]+', '^xyz']) AS matched;
+```
+
+```text
+1
+```
+
+```sql
+SELECT multi_match_any('abc', CAST([] AS ARRAY<STRING>)) AS empty_patterns,
+ multi_match_any(CAST(NULL AS STRING), ['a']) AS null_text,
+ multi_match_any('abc', CAST(NULL AS ARRAY<STRING>)) AS null_patterns;
+```
+
+```text
+0 0 0
+```
+
+## キーワード {#keywords}
+
+MULTI_MATCH, MATCH, ANY
diff --git
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/ai-functions/overview.json
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/ai-functions/overview.json
new file mode 100644
index 000000000000..413bd99225ce
--- /dev/null
+++
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/ai-functions/overview.json
@@ -0,0 +1,64 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "current",
+ "docId": "sql-manual/sql-functions/ai-functions/overview",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath": "docs/sql-manual/sql-functions/ai-functions/overview.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/ai-functions/overview.md",
+ "sourceCommit": "795aeb76a468b06fb12fd8f218fa33c31d76b63c",
+ "sourceHash":
"08a32b448a392f004fd22b5575efa78737805942135a90bc12015d99a0bc0f43",
+ "sourceTechnicalHash":
"2a410382152f3f34dc9850b5565f358f6326b37cba09d32fa4cbc90f2658ae60",
+ "targetHash":
"0ed9c5b36431e6ca44d4b915ca38263e18d09d5915eaf0488f65f32d404c78d9",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-24T04:44:14.753Z",
+ "glossaryVersion": "1",
+ "generation": {
+ "policy": "whole-document-v1",
+ "mode": "full",
+ "reason": "glossary-version-changed",
+ "attempts": 3,
+ "acceptedWithWarnings": true,
+ "sourceHash":
"08a32b448a392f004fd22b5575efa78737805942135a90bc12015d99a0bc0f43",
+ "targetHash":
"0ed9c5b36431e6ca44d4b915ca38263e18d09d5915eaf0488f65f32d404c78d9",
+ "warnings": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node 1:
expected [\"html\",null,null,\"<!-- \\nLicensed to the Apache Software
Foundation (ASF) under one\\nor more contributor license agreements. See the
NOTICE file\\ndistributed with this work for additional information\\nregarding
copyright ownership. The ASF licenses this file\\nto you under the Apache
License, Version 2.0 (the\\n\\\"License\\\"); you may not use this file except
in compliance\\nwith the License. [...]
+ }
+ ],
+ "history": [
+ {
+ "attempt": 1,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nnumeric values:
expected
[\"0\",\"0\",\"1\",\"1\",\"1\",\"1\",\"2048\",\"3\",\"4.1.5\",\"4.1.5\",\"4.1.5\",\"4.1.5\",\"4.1.5\",\"4.1.5\",\"4.1.5\",\"4.1.5\"];
received
[\"0\",\"0\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"2\",\"2048\",\"3\",\"4.1.5\",\"4.1.5\",\"4.1.5\",\"4.1.5\",\"4.1.5\",\"4.1.5\",\"4.1.5\",\"4.1.5\"]\nprotected
node 1: expected [\"html\",null,null,\"<!-- \\nLicensed to the Apache Software
Foundation (ASF) [...]
+ }
+ ]
+ },
+ {
+ "attempt": 2,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node 1:
expected [\"html\",null,null,\"<!-- \\nLicensed to the Apache Software
Foundation (ASF) under one\\nor more contributor license agreements. See the
NOTICE file\\ndistributed with this work for additional information\\nregarding
copyright ownership. The ASF licenses this file\\nto you under the Apache
License, Version 2.0 (the\\n\\\"License\\\"); you may not use this file except
in compliance\\nwith the Licen [...]
+ }
+ ]
+ },
+ {
+ "attempt": 3,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node 1:
expected [\"html\",null,null,\"<!-- \\nLicensed to the Apache Software
Foundation (ASF) under one\\nor more contributor license agreements. See the
NOTICE file\\ndistributed with this work for additional information\\nregarding
copyright ownership. The ASF licenses this file\\nto you under the Apache
License, Version 2.0 (the\\n\\\"License\\\"); you may not use this file except
in compliance\\nwith the Licen [...]
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/array-functions/array-range.json
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/array-functions/array-range.json
index ca07295226d8..8762c202ee79 100644
---
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/array-functions/array-range.json
+++
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/array-functions/array-range.json
@@ -8,13 +8,38 @@
"sourceLocale": "en",
"sourcePath":
"docs/sql-manual/sql-functions/scalar-functions/array-functions/array-range.md",
"targetPath":
"i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-range.md",
- "sourceCommit": "8dd8cb1f5ce4154d6f537595ac445d1b9ca2431d",
- "sourceHash":
"0267445a7c608cb23a3fcd4d1a9d28b2f697760a5d062c94d11d7c320b5ad0ed",
- "sourceTechnicalHash":
"6e991f144b8d380633e2077352f40474c10475e1d5df4585f5106d29a141d5e1",
- "targetHash":
"ac3bc86937c22a7edc4245d8c30209fe68ea2e9cf49dab2c74e6e96a896f1c9a",
+ "sourceCommit": "795aeb76a468b06fb12fd8f218fa33c31d76b63c",
+ "sourceHash":
"ab708ff556dcfebd9f29fb84dbe82fe580ad1821ede099bd23ce43682d6abe0c",
+ "sourceTechnicalHash":
"053e1e776c18e93cf9a7a1b3952917b2dda25fa525874c4ded57a1434ee6d411",
+ "targetHash":
"5bb6e330f551890d28f4bed844b0fc29bfc9355af009b4470ab4a975537af721",
"reviewStatus": "machine",
"ownership": "machine",
- "translatedAt": "2026-10-14T19:55:53.187Z",
- "glossaryVersion": "0"
+ "translatedAt": "2026-10-24T04:44:53.594Z",
+ "glossaryVersion": "1",
+ "generation": {
+ "policy": "whole-document-v1",
+ "mode": "full",
+ "reason": "glossary-version-changed",
+ "attempts": 2,
+ "acceptedWithWarnings": false,
+ "sourceHash":
"ab708ff556dcfebd9f29fb84dbe82fe580ad1821ede099bd23ce43682d6abe0c",
+ "targetHash":
"5bb6e330f551890d28f4bed844b0fc29bfc9355af009b4470ab4a975537af721",
+ "warnings": [],
+ "history": [
+ {
+ "attempt": 1,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nnumeric values:
expected [\"0\",\"1\",\"1\",\"4.1\",\"4.1.5\"]; received
[\"0\",\"0\",\"0\",\"0\",\"1\",\"1\",\"1\",\"1\",\"1\",\"4.1\",\"4.1.5\"]"
+ }
+ ]
+ },
+ {
+ "attempt": 2,
+ "issues": []
+ }
+ ]
+ }
}
}
diff --git
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.json
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.json
new file mode 100644
index 000000000000..3a6e3fb93619
--- /dev/null
+++
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.json
@@ -0,0 +1,36 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "current",
+ "docId":
"sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"docs/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-shuffle.md",
+ "sourceCommit": "795aeb76a468b06fb12fd8f218fa33c31d76b63c",
+ "sourceHash":
"9d661d14611e87bd3b9a64b748fe57b39b542282875ba61c2a0350cfa9e6d6f7",
+ "sourceTechnicalHash":
"1cd47ff6aab23f72e4273510c4309df6c074c87e352de78009bccfb417e8e9d9",
+ "targetHash":
"20227900139a533f8e7d9b25420d01bd59c7507c2ad04299fbbfcee251f9dedd",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-24T04:45:08.102Z",
+ "glossaryVersion": "1",
+ "generation": {
+ "policy": "whole-document-v1",
+ "mode": "full",
+ "reason": "glossary-version-changed",
+ "attempts": 1,
+ "acceptedWithWarnings": false,
+ "sourceHash":
"9d661d14611e87bd3b9a64b748fe57b39b542282875ba61c2a0350cfa9e6d6f7",
+ "targetHash":
"20227900139a533f8e7d9b25420d01bd59c7507c2ad04299fbbfcee251f9dedd",
+ "warnings": [],
+ "history": [
+ {
+ "attempt": 1,
+ "issues": []
+ }
+ ]
+ }
+ }
+}
diff --git
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.json
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.json
new file mode 100644
index 000000000000..44f43971ae62
--- /dev/null
+++
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.json
@@ -0,0 +1,45 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "current",
+ "docId":
"sql-manual/sql-functions/scalar-functions/array-functions/array-sort",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"docs/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/array-functions/array-sort.md",
+ "sourceCommit": "795aeb76a468b06fb12fd8f218fa33c31d76b63c",
+ "sourceHash":
"c1cf237d08a49fea8cbc80f627271c5abceb59603529845c0e253811365f6f7c",
+ "sourceTechnicalHash":
"45692b7dd6e6ad03c48bc3d99ed59210e8dd7edf56a058721a6a9edf2032ad76",
+ "targetHash":
"9c3de85e93e15ff0e5f30f167e6a832e7f4dc19f0064eda904ab7325730f9dbc",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-24T04:46:01.483Z",
+ "glossaryVersion": "1",
+ "generation": {
+ "policy": "whole-document-v1",
+ "mode": "full",
+ "reason": "glossary-version-changed",
+ "attempts": 2,
+ "acceptedWithWarnings": false,
+ "sourceHash":
"c1cf237d08a49fea8cbc80f627271c5abceb59603529845c0e253811365f6f7c",
+ "targetHash":
"9c3de85e93e15ff0e5f30f167e6a832e7f4dc19f0064eda904ab7325730f9dbc",
+ "warnings": [],
+ "history": [
+ {
+ "attempt": 1,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nnumeric values:
expected [\"0\",\"0\",\"1\",\"1\",\"1\",\"1\",\"4.1\",\"4.1.5\"]; received
[\"0\",\"0\",\"1\",\"1\",\"1\",\"1\",\"1\",\"2\",\"2\",\"2\",\"4.1\",\"4.1.5\"]\nprotected
node 21: expected [\"inlineCode\",null,null,\"NULL\"]; received [\"html\",\"<a
id=\\\"examples\\\"></a>\"]\nprotected node 22: expected [\"html\",\"<a
id=\\\"examples\\\"></a>\"]; received [\"html\",\"\"]"
+ }
+ ]
+ },
+ {
+ "attempt": 2,
+ "issues": []
+ }
+ ]
+ }
+ }
+}
diff --git
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.json
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.json
index 43c3aa07a351..45e476ab4782 100644
---
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.json
+++
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.json
@@ -8,13 +8,57 @@
"sourceLocale": "en",
"sourcePath":
"docs/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.md",
"targetPath":
"i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-ceil.md",
- "sourceCommit": "8dd8cb1f5ce4154d6f537595ac445d1b9ca2431d",
- "sourceHash":
"3b57e13de70dcb93f4c5ad5d8bfae5793854aa3052d7d5f37baf7726eab7015f",
- "sourceTechnicalHash":
"16285a23f172a8118a28f8b012b078d0326817406bb75fafcd145585704fb173",
- "targetHash":
"a21a6ab3ec0cfc11f8bbbd50db43faeec6415b40a552618892ab18595a28bf57",
+ "sourceCommit": "795aeb76a468b06fb12fd8f218fa33c31d76b63c",
+ "sourceHash":
"33cae71c2b71687a8f3c46c27c0c60066de75dac3fa2ae7f369b886a9d21e40d",
+ "sourceTechnicalHash":
"7dc85e76a4f36f972b6d15a7119ce8955ebb99659d82b7cbd7b50501266db8a2",
+ "targetHash":
"197577658f85d0a00f40e60117b06bea9d4b2193c237337a9cd0af40492398ac",
"reviewStatus": "machine",
"ownership": "machine",
- "translatedAt": "2026-10-14T19:36:49.814Z",
- "glossaryVersion": "0"
+ "translatedAt": "2026-10-24T04:47:34.590Z",
+ "glossaryVersion": "1",
+ "generation": {
+ "policy": "whole-document-v1",
+ "mode": "full",
+ "reason": "glossary-version-changed",
+ "attempts": 3,
+ "acceptedWithWarnings": true,
+ "sourceHash":
"33cae71c2b71687a8f3c46c27c0c60066de75dac3fa2ae7f369b886a9d21e40d",
+ "targetHash":
"197577658f85d0a00f40e60117b06bea9d4b2193c237337a9cd0af40492398ac",
+ "warnings": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nnumeric values:
expected
[\"0\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"0001\",\"0001\",\"01\",\"01\",\"01\",\"01\",\"12\",\"23\",\"31\",\"4.1\",\"4.1\",\"4.1.5\",\"4.1.5\",\"59\",\"59\",\"9999\"];
received
[\"0\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"0001\",\"0001\",\"01\",\"01\",\"01\",\"01\",\"12\",\"23\",\"31\",\"4.1\",\"4.1\",\"4.1.5\",\"4.1.5\",\"59\",\"59\",\"9\",\"9999\"]\
[...]
+ }
+ ],
+ "history": [
+ {
+ "attempt": 1,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nnumeric values:
expected
[\"0\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"0001\",\"0001\",\"01\",\"01\",\"01\",\"01\",\"12\",\"23\",\"31\",\"4.1\",\"4.1\",\"4.1.5\",\"4.1.5\",\"59\",\"59\",\"9999\"];
received
[\"0\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"0001\",\"0001\",\"01\",\"01\",\"01\",\"01\",\"12\",\"23\",\"31\",\"4.1\",\"4.1\",\"4.1.5\",\"4.1.5\",\"59\",\"59\",\"9\",\"9999
[...]
+ }
+ ]
+ },
+ {
+ "attempt": 2,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node
12: expected [\"inlineCode\",null,null,\"<origin>\"]; received
[\"inlineCode\",null,null,\"TIMESTAMP_NS\"]\nprotected node 13: expected
[\"inlineCode\",null,null,\"TIMESTAMP_NS\"]; received
[\"inlineCode\",null,null,\"<origin>\"]\nprotected node 24: expected
[\"inlineCode\",null,null,\"2025-12-31 23:59:59+05:00\"]; received
[\"inlineCode\",null,null,\"+08:00\"]"
+ }
+ ]
+ },
+ {
+ "attempt": 3,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nnumeric values:
expected
[\"0\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"0001\",\"0001\",\"01\",\"01\",\"01\",\"01\",\"12\",\"23\",\"31\",\"4.1\",\"4.1\",\"4.1.5\",\"4.1.5\",\"59\",\"59\",\"9999\"];
received
[\"0\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"0001\",\"0001\",\"01\",\"01\",\"01\",\"01\",\"12\",\"23\",\"31\",\"4.1\",\"4.1\",\"4.1.5\",\"4.1.5\",\"59\",\"59\",\"9\",\"9999
[...]
+ }
+ ]
+ }
+ ]
+ }
}
}
diff --git
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.json
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.json
index 8787d4a7b0c0..6326ee5f61e2 100644
---
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.json
+++
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.json
@@ -8,13 +8,57 @@
"sourceLocale": "en",
"sourcePath":
"docs/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.md",
"targetPath":
"i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/date-time-functions/week-floor.md",
- "sourceCommit": "8dd8cb1f5ce4154d6f537595ac445d1b9ca2431d",
- "sourceHash":
"bb9494668c3cc531e8f464dce312c77104ade73eeac3fd88f20dc750609c2e3f",
- "sourceTechnicalHash":
"a8b86a081f7037fe87a2342f253f41c26b1d1bb41c09a9fc2b10945722cd5728",
- "targetHash":
"c88f7f2518262aff0d2cfacb9a8fa02e6a98bd5d698f07ccb729d50a0c2900b9",
+ "sourceCommit": "795aeb76a468b06fb12fd8f218fa33c31d76b63c",
+ "sourceHash":
"c013965cdb541ea3504a09b54eb81e348f3fd7d9d747479d8b43e46d8508a012",
+ "sourceTechnicalHash":
"b81a1a8dea3d3cc514a57f7b5081e54b0ba305715d0eaf8d04c91e2953ee7d9e",
+ "targetHash":
"47da2c68fb2cbc3ccbf3565ef799e081ef4653b66337bc9daea8ce1abeacd9f7",
"reviewStatus": "machine",
"ownership": "machine",
- "translatedAt": "2026-10-14T19:36:49.814Z",
- "glossaryVersion": "0"
+ "translatedAt": "2026-10-24T04:49:10.879Z",
+ "glossaryVersion": "1",
+ "generation": {
+ "policy": "whole-document-v1",
+ "mode": "full",
+ "reason": "glossary-version-changed",
+ "attempts": 3,
+ "acceptedWithWarnings": true,
+ "sourceHash":
"c013965cdb541ea3504a09b54eb81e348f3fd7d9d747479d8b43e46d8508a012",
+ "targetHash":
"47da2c68fb2cbc3ccbf3565ef799e081ef4653b66337bc9daea8ce1abeacd9f7",
+ "warnings": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node 24:
expected [\"inlineCode\",null,null,\"2025-12-31 23:59:59+05:00\"]; received
[\"inlineCode\",null,null,\"+08:00\"]\nprotected node 25: expected
[\"inlineCode\",null,null,\"2026-01-01 02:59:59\"]; received
[\"inlineCode\",null,null,\"2025-12-31 23:59:59+05:00\"]\nprotected node 26:
expected [\"inlineCode\",null,null,\"+08:00\"]; received
[\"inlineCode\",null,null,\"2026-01-01 02:59:59\"]"
+ }
+ ],
+ "history": [
+ {
+ "attempt": 1,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nnumeric values:
expected
[\"0\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"0001\",\"0001\",\"01\",\"01\",\"01\",\"01\",\"4.1\",\"4.1\",\"4.1.5\",\"4.1.5\"];
received
[\"0\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"00\",\"0001\",\"0001\",\"01\",\"01\",\"01\",\"01\",\"4.1\",\"4.1\",\"4.1.5\",\"4.1.5\",\"9\"]\nprotected
node 12: expected [\"inlineCode\",null,null,\"<origin>\"]; received [\"in [...]
+ }
+ ]
+ },
+ {
+ "attempt": 2,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node
12: expected [\"inlineCode\",null,null,\"<origin>\"]; received
[\"inlineCode\",null,null,\"TIMESTAMP_NS\"]\nprotected node 13: expected
[\"inlineCode\",null,null,\"TIMESTAMP_NS\"]; received
[\"inlineCode\",null,null,\"<origin>\"]\nprotected node 24: expected
[\"inlineCode\",null,null,\"2025-12-31 23:59:59+05:00\"]; received
[\"inlineCode\",null,null,\"+08:00\"]"
+ }
+ ]
+ },
+ {
+ "attempt": 3,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node
24: expected [\"inlineCode\",null,null,\"2025-12-31 23:59:59+05:00\"]; received
[\"inlineCode\",null,null,\"+08:00\"]\nprotected node 25: expected
[\"inlineCode\",null,null,\"2026-01-01 02:59:59\"]; received
[\"inlineCode\",null,null,\"2025-12-31 23:59:59+05:00\"]\nprotected node 26:
expected [\"inlineCode\",null,null,\"+08:00\"]; received
[\"inlineCode\",null,null,\"2026-01-01 02:59:59\"]"
+ }
+ ]
+ }
+ ]
+ }
}
}
diff --git
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.json
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.json
index 7305b287893f..9654e6752d4c 100644
---
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.json
+++
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.json
@@ -8,13 +8,38 @@
"sourceLocale": "en",
"sourcePath":
"docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.md",
"targetPath":
"i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract-string.md",
- "sourceCommit": "8dd8cb1f5ce4154d6f537595ac445d1b9ca2431d",
- "sourceHash":
"0e44b5eb877202e153dfa109fc0d61d96918ce5096a0688fc2fbee534a8a68f6",
- "sourceTechnicalHash":
"524fae2a079b0578ce94023bde0844cb3ad6c80586ab98fb4d50c4bf5089125a",
- "targetHash":
"bd1210d968de6ba6639c04b07917b3544bd68149ae1b58cbd9fa086bd29a3f78",
+ "sourceCommit": "795aeb76a468b06fb12fd8f218fa33c31d76b63c",
+ "sourceHash":
"3ceb3def93fd0547982bbb1e4be0744756f2bd1346ad77ca73c625024b6539a2",
+ "sourceTechnicalHash":
"918529e966a5eb0ec5bdcb6f2bbda9e27fe87ebd026d31dbd077e8413e7958a5",
+ "targetHash":
"5dadd5f45034947d21e3c216e218c850f6411c55b6019f5432bcffb6491d0197",
"reviewStatus": "machine",
"ownership": "machine",
- "translatedAt": "2026-10-14T20:05:15.136Z",
- "glossaryVersion": "0"
+ "translatedAt": "2026-10-24T04:50:14.701Z",
+ "glossaryVersion": "1",
+ "generation": {
+ "policy": "whole-document-v1",
+ "mode": "full",
+ "reason": "glossary-version-changed",
+ "attempts": 2,
+ "acceptedWithWarnings": false,
+ "sourceHash":
"3ceb3def93fd0547982bbb1e4be0744756f2bd1346ad77ca73c625024b6539a2",
+ "targetHash":
"5dadd5f45034947d21e3c216e218c850f6411c55b6019f5432bcffb6491d0197",
+ "warnings": [],
+ "history": [
+ {
+ "attempt": 1,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node
19: expected
[\"code\",null,null,\"\\n```text\\n+---------------------------------------------------------------+\\n
| json_extract_string('{\\\"id\\\": 123, \\\"name\\\": \\\"doris\\\"}',
'$.name') |\\n
+---------------------------------------------------------------+\\n | doris
|\\n
+------------------------------------------------------------- [...]
+ }
+ ]
+ },
+ {
+ "attempt": 2,
+ "issues": []
+ }
+ ]
+ }
}
}
diff --git
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.json
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.json
new file mode 100644
index 000000000000..04a42d551e4d
--- /dev/null
+++
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.json
@@ -0,0 +1,64 @@
+{
+ "schemaVersion": 1,
+ "page": {
+ "pluginId": "default",
+ "version": "current",
+ "docId":
"sql-manual/sql-functions/scalar-functions/json-functions/json-extract",
+ "locale": "ja",
+ "sourceLocale": "en",
+ "sourcePath":
"docs/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.md",
+ "targetPath":
"i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/json-functions/json-extract.md",
+ "sourceCommit": "795aeb76a468b06fb12fd8f218fa33c31d76b63c",
+ "sourceHash":
"47eaf3b862a37987d386d092a9cb4695c6c5d7598723265b427351e38085211f",
+ "sourceTechnicalHash":
"823c7f0c7e2d413e8950d5a5f0a3bcb4fe561ce25a733783e469a0ca2ef88b7d",
+ "targetHash":
"4e060af8ae4b661328f212b9491f19e0548b9f60ae101c36bf7b771f1f63bdaf",
+ "reviewStatus": "machine",
+ "ownership": "machine",
+ "translatedAt": "2026-10-24T04:52:00.845Z",
+ "glossaryVersion": "1",
+ "generation": {
+ "policy": "whole-document-v1",
+ "mode": "full",
+ "reason": "glossary-version-changed",
+ "attempts": 3,
+ "acceptedWithWarnings": true,
+ "sourceHash":
"47eaf3b862a37987d386d092a9cb4695c6c5d7598723265b427351e38085211f",
+ "targetHash":
"4e060af8ae4b661328f212b9491f19e0548b9f60ae101c36bf7b771f1f63bdaf",
+ "warnings": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node 48:
expected [\"inlineCode\",null,null,\"\\\"v31\\\"\"]; received
[\"inlineCode\",null,null,\"v31\"]\nprotected node 49: expected
[\"inlineCode\",null,null,\"v31\"]; received
[\"inlineCode\",null,null,\"\\\"v31\\\"\"]"
+ }
+ ],
+ "history": [
+ {
+ "attempt": 1,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nnumeric values:
expected [\"4.0\",\"4.0\",\"4.0\"]; received
[\"1\",\"1\",\"2\",\"4.0\",\"4.0\",\"4.0\"]\nprotected node 19: expected
[\"inlineCode\",null,null,\"<path>\"]; received
[\"inlineCode\",null,null,\"\\\"\"]\nprotected node 20: expected
[\"inlineCode\",null,null,\"\\\"\"]; received
[\"link\",\"./json-unquote.md\",null]"
+ }
+ ]
+ },
+ {
+ "attempt": 2,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node
19: expected [\"inlineCode\",null,null,\"<path>\"]; received
[\"inlineCode\",null,null,\"\\\"\"]\nprotected node 20: expected
[\"inlineCode\",null,null,\"\\\"\"]; received
[\"link\",\"./json-unquote.md\",null]\nprotected node 21: expected
[\"link\",\"./json-unquote.md\",null]; received
[\"inlineCode\",null,null,\"JSON_UNQUOTE\"]"
+ }
+ ]
+ },
+ {
+ "attempt": 3,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node
48: expected [\"inlineCode\",null,null,\"\\\"v31\\\"\"]; received
[\"inlineCode\",null,null,\"v31\"]\nprotected node 49: expected
[\"inlineCode\",null,null,\"v31\"]; received
[\"inlineCode\",null,null,\"\\\"v31\\\"\"]"
+ }
+ ]
+ }
+ ]
+ }
+ }
+}
diff --git
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.json
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.json
index 8e85068acb8c..bb5be8408302 100644
---
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.json
+++
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.json
@@ -8,13 +8,38 @@
"sourceLocale": "en",
"sourcePath":
"docs/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.md",
"targetPath":
"i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/numeric-functions/format-round.md",
- "sourceCommit": "8dd8cb1f5ce4154d6f537595ac445d1b9ca2431d",
- "sourceHash":
"e23c7a7dd2617d6b234383f8840fd2442f76b8cd0afe6122b00c72aea1b03157",
- "sourceTechnicalHash":
"c373315f1c159c17fc041f415e1c346dc090fc773ba598d0ec9589e631345a0e",
- "targetHash":
"feca10f8d3ed4ff50c7300afa6c0354e6bab53816578c26d7bf76fede24d8aea",
+ "sourceCommit": "795aeb76a468b06fb12fd8f218fa33c31d76b63c",
+ "sourceHash":
"809aec173514d2ddab23f23fd27a9a1fc9ca6dbe0049d1ad272cad4433600ce6",
+ "sourceTechnicalHash":
"5cbe7260e65d6544eef5187ba074b3c6daa5d1860d9d55676d515ec666aae4f2",
+ "targetHash":
"f5c96431706133f6ed8a509b1da2d401ac81c847e144ed4d9734c50516bf9d40",
"reviewStatus": "machine",
"ownership": "machine",
- "translatedAt": "2026-10-14T18:46:26.257Z",
- "glossaryVersion": "0"
+ "translatedAt": "2026-10-24T04:52:42.573Z",
+ "glossaryVersion": "1",
+ "generation": {
+ "policy": "whole-document-v1",
+ "mode": "full",
+ "reason": "glossary-version-changed",
+ "attempts": 2,
+ "acceptedWithWarnings": false,
+ "sourceHash":
"809aec173514d2ddab23f23fd27a9a1fc9ca6dbe0049d1ad272cad4433600ce6",
+ "targetHash":
"f5c96431706133f6ed8a509b1da2d401ac81c847e144ed4d9734c50516bf9d40",
+ "warnings": [],
+ "history": [
+ {
+ "attempt": 1,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nnumeric values:
expected
[\"0\",\"0\",\"0\",\"0\",\"1024\",\"1024\",\"3.0.6\",\"4.1\",\"4.1.5\"];
received
[\"0\",\"0\",\"0\",\"0\",\"0\",\"1024\",\"1024\",\"3.0.6\",\"4.1\",\"4.1.5\"]"
+ }
+ ]
+ },
+ {
+ "attempt": 2,
+ "issues": []
+ }
+ ]
+ }
}
}
diff --git
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.json
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.json
index 23c7bc3a4fcf..8fd7ff4195fc 100644
---
a/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.json
+++
b/translations/state/ja/pages/default/current/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.json
@@ -8,13 +8,57 @@
"sourceLocale": "en",
"sourcePath":
"docs/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.md",
"targetPath":
"i18n/ja/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/scalar-functions/string-functions/multi-match-any.md",
- "sourceCommit": "8dd8cb1f5ce4154d6f537595ac445d1b9ca2431d",
- "sourceHash":
"406f52c620405f3eff61b0dc5df8eb4caa5bcf31fabdaae6a843d153a639d0f1",
- "sourceTechnicalHash":
"315812bfff67d5b167dbeb20d0d1cbf3543af66212d8dda53f1999d6e2212488",
- "targetHash":
"492de970cfeb4a87eaf41684ea2124d5074ae602447d449c7040c955aae83271",
+ "sourceCommit": "795aeb76a468b06fb12fd8f218fa33c31d76b63c",
+ "sourceHash":
"35563b72149e1959be24a87bc44c43301f80490d7b95b2f0b6c06bc4e5e2b607",
+ "sourceTechnicalHash":
"219218cc66180908c38416dab0f4b532a3b1530a7a0640135c3f78cb2a68f9a6",
+ "targetHash":
"e51c218f8d46bde9d9bf4872f414d792861c4e5e069d4fbe59910127a5aed0ab",
"reviewStatus": "machine",
"ownership": "machine",
- "translatedAt": "2026-10-14T19:01:49.808Z",
- "glossaryVersion": "0"
+ "translatedAt": "2026-10-24T04:53:25.669Z",
+ "glossaryVersion": "1",
+ "generation": {
+ "policy": "whole-document-v1",
+ "mode": "full",
+ "reason": "glossary-version-changed",
+ "attempts": 3,
+ "acceptedWithWarnings": true,
+ "sourceHash":
"35563b72149e1959be24a87bc44c43301f80490d7b95b2f0b6c06bc4e5e2b607",
+ "targetHash":
"e51c218f8d46bde9d9bf4872f414d792861c4e5e069d4fbe59910127a5aed0ab",
+ "warnings": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node 13:
expected [\"inlineCode\",null,null,\"TINYINT\"]; received
[\"inlineCode\",null,null,\"NULL\"]\nprotected node 14: expected
[\"inlineCode\",null,null,\"1\"]; received
[\"inlineCode\",null,null,\"TINYINT\"]\nprotected node 15: expected
[\"inlineCode\",null,null,\"0\"]; received [\"inlineCode\",null,null,\"1\"]"
+ }
+ ],
+ "history": [
+ {
+ "attempt": 1,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node 5:
expected [\"inlineCode\",null,null,\"0\"]; received
[\"inlineCode\",null,null,\"NULL\"]\nprotected node 7: expected
[\"inlineCode\",null,null,\"NULL\"]; received
[\"inlineCode\",null,null,\"0\"]\nprotected node 13: expected
[\"inlineCode\",null,null,\"TINYINT\"]; received
[\"inlineCode\",null,null,\"NULL\"]"
+ }
+ ]
+ },
+ {
+ "attempt": 2,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node 5:
expected [\"inlineCode\",null,null,\"0\"]; received
[\"inlineCode\",null,null,\"NULL\"]\nprotected node 7: expected
[\"inlineCode\",null,null,\"NULL\"]; received
[\"inlineCode\",null,null,\"0\"]\nprotected node 13: expected
[\"inlineCode\",null,null,\"TINYINT\"]; received
[\"inlineCode\",null,null,\"NULL\"]"
+ }
+ ]
+ },
+ {
+ "attempt": 3,
+ "issues": [
+ {
+ "check": "protected-content",
+ "message": "Restore protected source content:\nprotected node
13: expected [\"inlineCode\",null,null,\"TINYINT\"]; received
[\"inlineCode\",null,null,\"NULL\"]\nprotected node 14: expected
[\"inlineCode\",null,null,\"1\"]; received
[\"inlineCode\",null,null,\"TINYINT\"]\nprotected node 15: expected
[\"inlineCode\",null,null,\"0\"]; received [\"inlineCode\",null,null,\"1\"]"
+ }
+ ]
+ }
+ ]
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]