mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-10-19 06:50:50 +00:00
87 lines
3.9 KiB
Markdown
87 lines
3.9 KiB
Markdown
|
---
|
|||
|
machine_translated: true
|
|||
|
machine_translated_rev: d734a8e46ddd7465886ba4133bff743c55190626
|
|||
|
toc_priority: 60
|
|||
|
toc_title: IPv6
|
|||
|
---
|
|||
|
|
|||
|
## IPv6 {#ipv6}
|
|||
|
|
|||
|
`IPv6` ドメインは以下に基づきます `FixedString(16)` タイプと入力の代替品の保管IPv6数値です。 それは点検で人間に適する入出力形式およびコラムのタイプ情報を密集した貯蔵に与える。
|
|||
|
|
|||
|
### 基本的な使用法 {#basic-usage}
|
|||
|
|
|||
|
``` sql
|
|||
|
CREATE TABLE hits (url String, from IPv6) ENGINE = MergeTree() ORDER BY url;
|
|||
|
|
|||
|
DESCRIBE TABLE hits;
|
|||
|
```
|
|||
|
|
|||
|
``` text
|
|||
|
┌─name─┬─type───┬─default_type─┬─default_expression─┬─comment─┬─codec_expression─┐
|
|||
|
│ url │ String │ │ │ │ │
|
|||
|
│ from │ IPv6 │ │ │ │ │
|
|||
|
└──────┴────────┴──────────────┴────────────────────┴─────────┴──────────────────┘
|
|||
|
```
|
|||
|
|
|||
|
またはあなたが使用 `IPv6` 鍵としてのドメイン:
|
|||
|
|
|||
|
``` sql
|
|||
|
CREATE TABLE hits (url String, from IPv6) ENGINE = MergeTree() ORDER BY from;
|
|||
|
```
|
|||
|
|
|||
|
`IPv6` ドメイン対応のカスタム入力としてIPv6-文字列:
|
|||
|
|
|||
|
``` sql
|
|||
|
INSERT INTO hits (url, from) VALUES ('https://wikipedia.org', '2a02:aa08:e000:3100::2')('https://clickhouse.tech', '2001:44c8:129:2632:33:0:252:2')('https://clickhouse.yandex/docs/en/', '2a02:e980:1e::1');
|
|||
|
|
|||
|
SELECT * FROM hits;
|
|||
|
```
|
|||
|
|
|||
|
``` text
|
|||
|
┌─url────────────────────────────────┬─from──────────────────────────┐
|
|||
|
│ https://clickhouse.tech │ 2001:44c8:129:2632:33:0:252:2 │
|
|||
|
│ https://clickhouse.tech/docs/en/ │ 2a02:e980:1e::1 │
|
|||
|
│ https://wikipedia.org │ 2a02:aa08:e000:3100::2 │
|
|||
|
└────────────────────────────────────┴───────────────────────────────┘
|
|||
|
```
|
|||
|
|
|||
|
値が格納されコンパクトにバイナリ形式:
|
|||
|
|
|||
|
``` sql
|
|||
|
SELECT toTypeName(from), hex(from) FROM hits LIMIT 1;
|
|||
|
```
|
|||
|
|
|||
|
``` text
|
|||
|
┌─toTypeName(from)─┬─hex(from)────────────────────────┐
|
|||
|
│ IPv6 │ 200144C8012926320033000002520002 │
|
|||
|
└──────────────────┴──────────────────────────────────┘
|
|||
|
```
|
|||
|
|
|||
|
ドメイン値は、以下の型以外の型に暗黙的に変換できません `FixedString(16)`.
|
|||
|
変換したい場合 `IPv6` 値を文字列に変換するには、それを明示的に行う必要があります `IPv6NumToString()` 機能:
|
|||
|
|
|||
|
``` sql
|
|||
|
SELECT toTypeName(s), IPv6NumToString(from) as s FROM hits LIMIT 1;
|
|||
|
```
|
|||
|
|
|||
|
``` text
|
|||
|
┌─toTypeName(IPv6NumToString(from))─┬─s─────────────────────────────┐
|
|||
|
│ String │ 2001:44c8:129:2632:33:0:252:2 │
|
|||
|
└───────────────────────────────────┴───────────────────────────────┘
|
|||
|
```
|
|||
|
|
|||
|
または `FixedString(16)` 値:
|
|||
|
|
|||
|
``` sql
|
|||
|
SELECT toTypeName(i), CAST(from as FixedString(16)) as i FROM hits LIMIT 1;
|
|||
|
```
|
|||
|
|
|||
|
``` text
|
|||
|
┌─toTypeName(CAST(from, 'FixedString(16)'))─┬─i───────┐
|
|||
|
│ FixedString(16) │ <20><><EFBFBD> │
|
|||
|
└───────────────────────────────────────────┴─────────┘
|
|||
|
```
|
|||
|
|
|||
|
[元の記事](https://clickhouse.tech/docs/en/data_types/domains/ipv6) <!--hide-->
|