ClickHouse/docs/fa/sql_reference/data_types/array.md
2020-04-04 12:15:31 +03:00

3.0 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true d734a8e46d 51 & توری)

& توری)

مجموعه ای از T- نوع اقلام است. T می تواند هر نوع داده, از جمله مجموعه.

ایجاد یک مجموعه

شما می توانید یک تابع برای ایجاد مجموعه ای استفاده کنید:

array(T)

شما همچنین می توانید براکت مربع استفاده کنید.

[]

نمونه ای از ایجاد یک مجموعه:

SELECT array(1, 2) AS x, toTypeName(x)
┌─x─────┬─toTypeName(array(1, 2))─┐
│ [1,2] │ Array(UInt8)            │
└───────┴─────────────────────────┘
SELECT [1, 2] AS x, toTypeName(x)
┌─x─────┬─toTypeName([1, 2])─┐
│ [1,2] │ Array(UInt8)       │
└───────┴────────────────────┘

کار با انواع داده ها

در هنگام ایجاد مجموعه ای در پرواز, خانه رعیتی به طور خودکار نوع استدلال به عنوان باریک ترین نوع داده است که می تواند تمام استدلال ذکر شده ذخیره تعریف. اگر وجود دارد Nullable یا تحت اللفظی NULL ارزش, نوع عنصر مجموعه ای نیز می شود Nullable.

اگر فاحشه خانه می تواند نوع داده را تعیین نمی کند, این تولید یک استثنا. مثلا, این اتفاق می افتد زمانی که تلاش برای ایجاد مجموعه ای با رشته ها و اعداد به طور همزمان (SELECT array(1, 'a')).

نمونه هایی از تشخیص نوع داده ها به صورت خودکار:

SELECT array(1, 2, NULL) AS x, toTypeName(x)
┌─x──────────┬─toTypeName(array(1, 2, NULL))─┐
│ [1,2,NULL] │ Array(Nullable(UInt8))        │
└────────────┴───────────────────────────────┘

اگر شما سعی می کنید برای ایجاد یک آرایه از ناسازگار انواع داده ها clickhouse پرتاب یک استثنا:

SELECT array(1, 'a')
Received exception from server (version 1.1.54388):
Code: 386. DB::Exception: Received from localhost:9000, 127.0.0.1. DB::Exception: There is no supertype for types UInt8, String because some of them are String/FixedString and some of them are not.

مقاله اصلی