34 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | e8cd92bba3 |
66 | Diğer |
Diğer fonksiyonlar
hostnamename()
Bu işlevin gerçekleştirildiği ana bilgisayarın adını içeren bir dize döndürür. Dağıtılmış işlem için, bu işlev uzak bir sunucuda gerçekleştirilirse, uzak sunucu ana bilgisayarının adıdır.
FQDN
Tam etki alanı adını döndürür.
Sözdizimi
fqdn();
Bu işlev büyük / küçük harf duyarsızdır.
Döndürülen değer
- Tam etki alanı adı ile dize.
Tür: String
.
Örnek
Sorgu:
SELECT FQDN();
Sonuç:
┌─FQDN()──────────────────────────┐
│ clickhouse.ru-central1.internal │
└─────────────────────────────────┘
basename
Son eğik çizgi veya ters eğik çizgiden sonra bir dizenin sondaki kısmını ayıklar. Bu işlev, genellikle bir yoldan dosya adını ayıklamak için kullanılır.
basename( expr )
Parametre
expr
— Expression resulting in a Dize type value. Tüm ters eğik çizgilerin ortaya çıkan değerden kaçması gerekir.
Döndürülen Değer
İçeren bir dize:
-
Son eğik çizgi veya ters eğik çizgiden sonra bir dizenin sondaki kısmı.
If the input string contains a path ending with slash or backslash, for example, `/` or `c:\`, the function returns an empty string.
-
Eğik çizgi veya ters eğik çizgi yoksa orijinal dize.
Örnek
SELECT 'some/long/path/to/file' AS a, basename(a)
┌─a──────────────────────┬─basename('some\\long\\path\\to\\file')─┐
│ some\long\path\to\file │ file │
└────────────────────────┴────────────────────────────────────────┘
SELECT 'some\\long\\path\\to\\file' AS a, basename(a)
┌─a──────────────────────┬─basename('some\\long\\path\\to\\file')─┐
│ some\long\path\to\file │ file │
└────────────────────────┴────────────────────────────────────────┘
SELECT 'some-file-name' AS a, basename(a)
┌─a──────────────┬─basename('some-file-name')─┐
│ some-file-name │ some-file-name │
└────────────────┴────────────────────────────┘
visibleWidth(x)
Değerleri konsola metin biçiminde (sekmeyle ayrılmış) çıkarırken yaklaşık genişliği hesaplar. Bu işlev, sistem tarafından güzel formatların uygulanması için kullanılır.
NULL
karşılık gelen bir dize olarak temsil edilir NULL
içinde Pretty
biçimliler.
SELECT visibleWidth(NULL)
┌─visibleWidth(NULL)─┐
│ 4 │
└────────────────────┘
toTypeName (x)
Geçirilen bağımsız değişken türü adını içeren bir dize döndürür.
Eğer NULL
fonksiyona girdi olarak geçirilir, daha sonra Nullable(Nothing)
bir iç karşılık gelen türü NULL
Clickhouse'da temsil.
blockSize()
Bloğun boyutunu alır. Clickhouse'da, sorgular her zaman bloklarda (sütun parçaları kümeleri) çalıştırılır. Bu işlev, aradığınız bloğun boyutunu almanızı sağlar.
materialize (x)
Bir sabiti yalnızca bir değer içeren tam bir sütuna dönüştürür. Clickhouse'da, tam sütunlar ve sabitler bellekte farklı şekilde temsil edilir. İşlevler, sabit argümanlar ve normal argümanlar için farklı şekilde çalışır (farklı kod yürütülür), ancak sonuç hemen hemen her zaman aynıdır. Bu işlev, bu davranış hata ayıklama içindir.
ignore(…)
Dahil olmak üzere herhangi bir argümanı kabul eder NULL
. Her zaman 0 döndürür.
Ancak, argüman hala değerlendirilir. Bu kriterler için kullanılabilir.
uyku (saniye)
Uykular ‘seconds’ her veri bloğunda saniye. Bir tamsayı veya kayan noktalı sayı belirtebilirsiniz.
sleepEachRow (saniye)
Uykular ‘seconds’ her satırda saniye. Bir tamsayı veya kayan noktalı sayı belirtebilirsiniz.
currentDatabase()
Geçerli veritabanının adını döndürür. Bu işlevi, veritabanını belirtmeniz gereken bir tablo oluştur sorgusunda tablo altyapısı parametrelerinde kullanabilirsiniz.
currentUser()
Geçerli kullanıcının oturum açma döndürür. Kullanıcı girişi, bu başlatılan sorgu, durumda distibuted sorguda iade edilecektir.
SELECT currentUser();
Takma ad: user()
, USER()
.
Döndürülen değerler
- Geçerli kullanıcının girişi.
- Disributed sorgu durumunda sorgu başlatılan kullanıcının giriş.
Tür: String
.
Örnek
Sorgu:
SELECT currentUser();
Sonuç:
┌─currentUser()─┐
│ default │
└───────────────┘
isFinite (x)
Float32 ve Float64 kabul eder ve bağımsız değişken sonsuz değilse ve bir NaN değilse, Uint8'i 1'e eşit olarak döndürür, aksi halde 0.
isİnfinite (x)
Float32 ve Float64 kabul eder ve bağımsız değişken sonsuz ise 1'e eşit Uİnt8 döndürür, aksi takdirde 0. Bir NaN için 0 döndürüldüğünü unutmayın.
ifNotFinite
Kayan nokta değerinin sonlu olup olmadığını kontrol eder.
Sözdizimi
ifNotFinite(x,y)
Parametre
x
— Value to be checked for infinity. Type: Yüzdürmek*.y
— Fallback value. Type: Yüzdürmek*.
Döndürülen değer
x
eğerx
son isludur.y
eğerx
sonlu değildir.
Örnek
Sorgu:
SELECT 1/0 as infimum, ifNotFinite(infimum,42)
Sonuç:
┌─infimum─┬─ifNotFinite(divide(1, 0), 42)─┐
│ inf │ 42 │
└─────────┴───────────────────────────────┘
Kullanarak benzer sonuç alabilirsiniz üçlü operatör: isFinite(x) ? x : y
.
ısnan (x)
Float32 ve Float64 kabul eder ve bağımsız değişken bir NaN, aksi takdirde 0 ise 1'e eşit uint8 döndürür.
hasColumnİnTable([‘hostname’[, ‘username’[, ‘password’]],] ‘database’, ‘table’, ‘column’)
Sabit dizeleri kabul eder: veritabanı adı, tablo adı ve sütun adı. Bir sütun varsa 1'e eşit bir uint8 sabit ifadesi döndürür, aksi halde 0. Hostname parametresi ayarlanmışsa, sınama uzak bir sunucuda çalışır. Tablo yoksa, işlev bir özel durum atar. İç içe veri yapısındaki öğeler için işlev, bir sütunun varlığını denetler. İç içe veri yapısının kendisi için işlev 0 döndürür.
bar
Unicode-art diyagramı oluşturmaya izin verir.
bar(x, min, max, width)
genişliği orantılı olan bir bant çizer (x - min)
ve eşit width
karakterler ne zaman x = max
.
Parametre:
x
— Size to display.min, max
— Integer constants. The value must fit inInt64
.width
— Constant, positive integer, can be fractional.
Bant, bir sembolün sekizde birine doğrulukla çizilir.
Örnek:
SELECT
toHour(EventTime) AS h,
count() AS c,
bar(c, 0, 600000, 20) AS bar
FROM test.hits
GROUP BY h
ORDER BY h ASC
┌──h─┬──────c─┬─bar────────────────┐
│ 0 │ 292907 │ █████████▋ │
│ 1 │ 180563 │ ██████ │
│ 2 │ 114861 │ ███▋ │
│ 3 │ 85069 │ ██▋ │
│ 4 │ 68543 │ ██▎ │
│ 5 │ 78116 │ ██▌ │
│ 6 │ 113474 │ ███▋ │
│ 7 │ 170678 │ █████▋ │
│ 8 │ 278380 │ █████████▎ │
│ 9 │ 391053 │ █████████████ │
│ 10 │ 457681 │ ███████████████▎ │
│ 11 │ 493667 │ ████████████████▍ │
│ 12 │ 509641 │ ████████████████▊ │
│ 13 │ 522947 │ █████████████████▍ │
│ 14 │ 539954 │ █████████████████▊ │
│ 15 │ 528460 │ █████████████████▌ │
│ 16 │ 539201 │ █████████████████▊ │
│ 17 │ 523539 │ █████████████████▍ │
│ 18 │ 506467 │ ████████████████▊ │
│ 19 │ 520915 │ █████████████████▎ │
│ 20 │ 521665 │ █████████████████▍ │
│ 21 │ 542078 │ ██████████████████ │
│ 22 │ 493642 │ ████████████████▍ │
│ 23 │ 400397 │ █████████████▎ │
└────┴────────┴────────────────────┘
dönüştürmek
Bir değeri, bazı öğelerin açıkça tanımlanmış eşlemesine göre diğer öğelere dönüştürür. Bu fonksiyonun iki varyasyonu vardır:
transform (x, array_from, array_to, varsayılan)
x
– What to transform.
array_from
– Constant array of values for converting.
array_to
– Constant array of values to convert the values in ‘from’ -e doğru.
default
– Which value to use if ‘x’ değer anylerden hiçbir equaline eşit değildir. ‘from’.
array_from
ve array_to
– Arrays of the same size.
Türler:
transform(T, Array(T), Array(U), U) -> U
T
ve U
sayısal, dize veya tarih veya DateTime türleri olabilir.
Aynı harfin belirtildiği (t veya U), sayısal türler için bunlar eşleşen türler değil, ortak bir türe sahip türler olabilir.
Örneğin, ilk bağımsız değişken Int64 türüne sahip olabilir, ikincisi ise Array(Uİnt16) türüne sahiptir.
Eğer... ‘x’ değer, içindeki öğelerden birine eşittir. ‘array_from’ array, varolan öğeyi döndürür (aynı numaralandırılır) ‘array_to’ dizi. Aksi takdirde, döner ‘default’. İçinde birden fazla eşleşen öğe varsa ‘array_from’, maçlardan birini döndürür.
Örnek:
SELECT
transform(SearchEngineID, [2, 3], ['Yandex', 'Google'], 'Other') AS title,
count() AS c
FROM test.hits
WHERE SearchEngineID != 0
GROUP BY title
ORDER BY c DESC
┌─title─────┬──────c─┐
│ Yandex │ 498635 │
│ Google │ 229872 │
│ Other │ 104472 │
└───────────┴────────┘
transform (x, array_from, array_to)
İlk vary thatasyon differsdan farklıdır. ‘default’ argüman atlandı. Eğer... ‘x’ değer, içindeki öğelerden birine eşittir. ‘array_from’ array, eşleşen öğeyi (aynı numaralandırılmış) döndürür ‘array_to’ dizi. Aksi takdirde, döner ‘x’.
Türler:
transform(T, Array(T), Array(T)) -> T
Örnek:
SELECT
transform(domain(Referer), ['yandex.ru', 'google.ru', 'vk.com'], ['www.yandex', 'example.com']) AS s,
count() AS c
FROM test.hits
GROUP BY domain(Referer)
ORDER BY count() DESC
LIMIT 10
┌─s──────────────┬───────c─┐
│ │ 2906259 │
│ www.yandex │ 867767 │
│ ███████.ru │ 313599 │
│ mail.yandex.ru │ 107147 │
│ ██████.ru │ 100355 │
│ █████████.ru │ 65040 │
│ news.yandex.ru │ 64515 │
│ ██████.net │ 59141 │
│ example.com │ 57316 │
└────────────────┴─────────┘
formatReadableSize (x)
Boyutu (bayt sayısı) kabul eder. Bir sonek (KiB, MıB, vb.) ile yuvarlak bir boyut döndürür.) bir dize olarak.
Örnek:
SELECT
arrayJoin([1, 1024, 1024*1024, 192851925]) AS filesize_bytes,
formatReadableSize(filesize_bytes) AS filesize
┌─filesize_bytes─┬─filesize───┐
│ 1 │ 1.00 B │
│ 1024 │ 1.00 KiB │
│ 1048576 │ 1.00 MiB │
│ 192851925 │ 183.92 MiB │
└────────────────┴────────────┘
en az (a, b)
A ve B'den en küçük değeri döndürür.
en büyük (a, b)
A ve B'nin en büyük değerini döndürür.
çalışma süresi()
Sunucunun çalışma süresini saniyeler içinde döndürür.
sürüm()
Sunucu sürümünü bir dize olarak döndürür.
saat dilimi()
Sunucunun saat dilimini döndürür.
blockNumber
Satırın bulunduğu veri bloğunun sıra numarasını döndürür.
rowNumberİnBlock
Veri bloğundaki satırın sıra numarasını döndürür. Farklı veri blokları her zaman yeniden hesaplanır.
rownumberınallblocks()
Veri bloğundaki satırın sıra numarasını döndürür. Bu işlev yalnızca etkilenen veri bloklarını dikkate alır.
komşuluk
Belirli bir sütunun geçerli satırından önce veya sonra gelen belirli bir ofsette bir satıra erişim sağlayan pencere işlevi.
Sözdizimi
neighbor(column, offset[, default_value])
İşlevin sonucu, etkilenen veri bloklarına ve bloktaki veri sırasına bağlıdır. ORDER BY ile bir alt sorgu yaparsanız ve alt sorgunun dışından işlevi çağırırsanız, beklenen sonucu alabilirsiniz.
Parametre
column
— A column name or scalar expression.offset
— The number of rows forwards or backwards from the current row ofcolumn
. Int64.default_value
— Optional. The value to be returned if offset goes beyond the scope of the block. Type of data blocks affected.
Döndürülen değerler
- İçin değer
column
içindeoffset
eğer geçerli satırdan uzaklıkoffset
değer blok sınırları dışında değil. - İçin varsayılan değer
column
eğeroffset
değer, blok sınırlarının dışındadır. Eğerdefault_value
verilir, daha sonra kullanılacaktır.
Tür: etkilenen veri bloklarının türü veya varsayılan değer türü.
Örnek
Sorgu:
SELECT number, neighbor(number, 2) FROM system.numbers LIMIT 10;
Sonuç:
┌─number─┬─neighbor(number, 2)─┐
│ 0 │ 2 │
│ 1 │ 3 │
│ 2 │ 4 │
│ 3 │ 5 │
│ 4 │ 6 │
│ 5 │ 7 │
│ 6 │ 8 │
│ 7 │ 9 │
│ 8 │ 0 │
│ 9 │ 0 │
└────────┴─────────────────────┘
Sorgu:
SELECT number, neighbor(number, 2, 999) FROM system.numbers LIMIT 10;
Sonuç:
┌─number─┬─neighbor(number, 2, 999)─┐
│ 0 │ 2 │
│ 1 │ 3 │
│ 2 │ 4 │
│ 3 │ 5 │
│ 4 │ 6 │
│ 5 │ 7 │
│ 6 │ 8 │
│ 7 │ 9 │
│ 8 │ 999 │
│ 9 │ 999 │
└────────┴──────────────────────────┘
Bu işlev, yıldan yıla metrik değeri hesaplamak için kullanılabilir:
Sorgu:
WITH toDate('2018-01-01') AS start_date
SELECT
toStartOfMonth(start_date + (number * 32)) AS month,
toInt32(month) % 100 AS money,
neighbor(money, -12) AS prev_year,
round(prev_year / money, 2) AS year_over_year
FROM numbers(16)
Sonuç:
┌──────month─┬─money─┬─prev_year─┬─year_over_year─┐
│ 2018-01-01 │ 32 │ 0 │ 0 │
│ 2018-02-01 │ 63 │ 0 │ 0 │
│ 2018-03-01 │ 91 │ 0 │ 0 │
│ 2018-04-01 │ 22 │ 0 │ 0 │
│ 2018-05-01 │ 52 │ 0 │ 0 │
│ 2018-06-01 │ 83 │ 0 │ 0 │
│ 2018-07-01 │ 13 │ 0 │ 0 │
│ 2018-08-01 │ 44 │ 0 │ 0 │
│ 2018-09-01 │ 75 │ 0 │ 0 │
│ 2018-10-01 │ 5 │ 0 │ 0 │
│ 2018-11-01 │ 36 │ 0 │ 0 │
│ 2018-12-01 │ 66 │ 0 │ 0 │
│ 2019-01-01 │ 97 │ 32 │ 0.33 │
│ 2019-02-01 │ 28 │ 63 │ 2.25 │
│ 2019-03-01 │ 56 │ 91 │ 1.62 │
│ 2019-04-01 │ 87 │ 22 │ 0.25 │
└────────────┴───────┴───────────┴────────────────┘
runningDifference (x)
Calculates the difference between successive row values in the data block. İlk satır için 0 ve sonraki her satır için önceki satırdan farkı döndürür.
İşlevin sonucu, etkilenen veri bloklarına ve bloktaki veri sırasına bağlıdır. ORDER BY ile bir alt sorgu yaparsanız ve alt sorgunun dışından işlevi çağırırsanız, beklenen sonucu alabilirsiniz.
Örnek:
SELECT
EventID,
EventTime,
runningDifference(EventTime) AS delta
FROM
(
SELECT
EventID,
EventTime
FROM events
WHERE EventDate = '2016-11-24'
ORDER BY EventTime ASC
LIMIT 5
)
┌─EventID─┬───────────EventTime─┬─delta─┐
│ 1106 │ 2016-11-24 00:00:04 │ 0 │
│ 1107 │ 2016-11-24 00:00:05 │ 1 │
│ 1108 │ 2016-11-24 00:00:05 │ 0 │
│ 1109 │ 2016-11-24 00:00:09 │ 4 │
│ 1110 │ 2016-11-24 00:00:10 │ 1 │
└─────────┴─────────────────────┴───────┘
Lütfen dikkat - blok boyutu sonucu etkiler. Her yeni blok ile, runningDifference
durum sıfırlandı.
SELECT
number,
runningDifference(number + 1) AS diff
FROM numbers(100000)
WHERE diff != 1
┌─number─┬─diff─┐
│ 0 │ 0 │
└────────┴──────┘
┌─number─┬─diff─┐
│ 65536 │ 0 │
└────────┴──────┘
set max_block_size=100000 -- default value is 65536!
SELECT
number,
runningDifference(number + 1) AS diff
FROM numbers(100000)
WHERE diff != 1
┌─number─┬─diff─┐
│ 0 │ 0 │
└────────┴──────┘
runningDifferenceStartingWithFirstvalue
İçin aynı runningDifference, fark ilk satırın değeridir, ilk satırın değerini döndürdü ve sonraki her satır önceki satırdan farkı döndürür.
MACNumToString (num)
Bir uınt64 numarasını kabul eder. Big endian'da bir MAC adresi olarak yorumlar. AA:BB:CC:DD:EE:FF biçiminde karşılık gelen MAC adresini içeren bir dize döndürür (onaltılık formda iki nokta üst üste ayrılmış sayılar).
MACStringToNum (s)
MACNumToString ters işlevi. MAC adresi geçersiz bir biçime sahipse, 0 döndürür.
MACStringToOUİ (s)
AA:BB:CC:DD:EE:FF (onaltılık formda iki nokta üst üste ayrılmış sayılar) biçiminde bir MAC adresi kabul eder. İlk üç sekizli uint64 numarası olarak döndürür. MAC adresi geçersiz bir biçime sahipse, 0 döndürür.
getSizeOfEnumType
Alan sayısını döndürür Enum.
getSizeOfEnumType(value)
Parametre:
value
— Value of typeEnum
.
Döndürülen değerler
- İle alan sayısı
Enum
giriş değerleri. - Tür değilse bir istisna atılır
Enum
.
Örnek
SELECT getSizeOfEnumType( CAST('a' AS Enum8('a' = 1, 'b' = 2) ) ) AS x
┌─x─┐
│ 2 │
└───┘
blockSerializedSize
Diskteki boyutu döndürür (sıkıştırmayı hesaba katmadan).
blockSerializedSize(value[, value[, ...]])
Parametre:
value
— Any value.
Döndürülen değerler
- (Sıkıştırma olmadan) değerler bloğu için diske yazılacak bayt sayısı.
Örnek
SELECT blockSerializedSize(maxState(1)) as x
┌─x─┐
│ 2 │
└───┘
toColumnTypeName
RAM'DEKİ sütunun veri türünü temsil eden sınıfın adını döndürür.
toColumnTypeName(value)
Parametre:
value
— Any type of value.
Döndürülen değerler
- Temsil etmek için kullanılan sınıfın adını içeren bir dize
value
RAM veri türü.
Arasındaki fark örneğitoTypeName ' and ' toColumnTypeName
SELECT toTypeName(CAST('2018-01-01 01:02:03' AS DateTime))
┌─toTypeName(CAST('2018-01-01 01:02:03', 'DateTime'))─┐
│ DateTime │
└─────────────────────────────────────────────────────┘
SELECT toColumnTypeName(CAST('2018-01-01 01:02:03' AS DateTime))
┌─toColumnTypeName(CAST('2018-01-01 01:02:03', 'DateTime'))─┐
│ Const(UInt32) │
└───────────────────────────────────────────────────────────┘
Örnek gösteriyor ki DateTime
veri türü olarak bellekte saklanır Const(UInt32)
.
dumpColumnStructure
Ram'deki veri yapılarının ayrıntılı bir açıklamasını verir
dumpColumnStructure(value)
Parametre:
value
— Any type of value.
Döndürülen değerler
- Temsil etmek için kullanılan yapıyı açıklayan bir dize
value
RAM veri türü.
Örnek
SELECT dumpColumnStructure(CAST('2018-01-01 01:02:03', 'DateTime'))
┌─dumpColumnStructure(CAST('2018-01-01 01:02:03', 'DateTime'))─┐
│ DateTime, Const(size = 1, UInt32(size = 1)) │
└──────────────────────────────────────────────────────────────┘
defaultValueOfArgumentType
Veri türü için varsayılan değeri verir.
Kullanıcı tarafından ayarlanan özel sütunlar için varsayılan değerleri içermez.
defaultValueOfArgumentType(expression)
Parametre:
expression
— Arbitrary type of value or an expression that results in a value of an arbitrary type.
Döndürülen değerler
0
sayılar için.- Dizeler için boş dize.
ᴺᵁᴸᴸ
için Nullable.
Örnek
SELECT defaultValueOfArgumentType( CAST(1 AS Int8) )
┌─defaultValueOfArgumentType(CAST(1, 'Int8'))─┐
│ 0 │
└─────────────────────────────────────────────┘
SELECT defaultValueOfArgumentType( CAST(1 AS Nullable(Int8) ) )
┌─defaultValueOfArgumentType(CAST(1, 'Nullable(Int8)'))─┐
│ ᴺᵁᴸᴸ │
└───────────────────────────────────────────────────────┘
çoğaltmak
Tek bir değere sahip bir dizi oluşturur.
İç uygulama için kullanılan arrayJoin.
SELECT replicate(x, arr);
Parametre:
arr
— Original array. ClickHouse creates a new array of the same length as the original and fills it with the valuex
.x
— The value that the resulting array will be filled with.
Döndürülen değer
Değerle dolu bir dizi x
.
Tür: Array
.
Örnek
Sorgu:
SELECT replicate(1, ['a', 'b', 'c'])
Sonuç:
┌─replicate(1, ['a', 'b', 'c'])─┐
│ [1,1,1] │
└───────────────────────────────┘
filesystemAvailable
Veritabanlarının dosyalarının bulunduğu dosya sisteminde kalan alan miktarını döndürür. Her zaman toplam boş alandan daha küçüktür (filesystemFree) çünkü OS için biraz alan ayrılmıştır.
Sözdizimi
filesystemAvailable()
Döndürülen değer
- Bayt olarak kullanılabilir kalan alan miktarı.
Tür: Uİnt64.
Örnek
Sorgu:
SELECT formatReadableSize(filesystemAvailable()) AS "Available space", toTypeName(filesystemAvailable()) AS "Type";
Sonuç:
┌─Available space─┬─Type───┐
│ 30.75 GiB │ UInt64 │
└─────────────────┴────────┘
filesystemFree
Veritabanlarının dosyalarının bulunduğu dosya sistemindeki boş alanın toplam miktarını döndürür. Ayrıca bakınız filesystemAvailable
Sözdizimi
filesystemFree()
Döndürülen değer
- Bayt cinsinden boş alan miktarı.
Tür: Uİnt64.
Örnek
Sorgu:
SELECT formatReadableSize(filesystemFree()) AS "Free space", toTypeName(filesystemFree()) AS "Type";
Sonuç:
┌─Free space─┬─Type───┐
│ 32.39 GiB │ UInt64 │
└────────────┴────────┘
filesystemCapacity
Dosya sisteminin kapasitesini bayt cinsinden döndürür. Değerlendirme için, yol veri dizinine yapılandırılmalıdır.
Sözdizimi
filesystemCapacity()
Döndürülen değer
- Dosya sisteminin bayt cinsinden kapasite bilgisi.
Tür: Uİnt64.
Örnek
Sorgu:
SELECT formatReadableSize(filesystemCapacity()) AS "Capacity", toTypeName(filesystemCapacity()) AS "Type"
Sonuç:
┌─Capacity──┬─Type───┐
│ 39.32 GiB │ UInt64 │
└───────────┴────────┘
finalizeAggregation
Toplama işlevinin durumunu alır. Toplama sonucunu döndürür (kesinleşmiş durum).
runningAccumulate
Toplama işlevinin durumlarını alır ve değerleri olan bir sütun döndürür, bu durumların bir dizi blok satırı için ilk satırdan geçerli satıra birikmesinin sonucudur. Örneğin, toplama işlevinin durumunu alır (örnek runningAccumulate (uniqState (Userıd))) ve her blok satırı için, önceki tüm Satırların ve geçerli satırın durumlarının birleştirilmesinde toplama işlevinin sonucunu döndürür. Bu nedenle, işlevin sonucu, verilerin bloklara bölünmesine ve blok içindeki verilerin sırasına bağlıdır.
joinGet
İşlev, tablodan verileri bir tablodan aynı şekilde ayıklamanızı sağlar sözlük.
Veri alır Katmak belirtilen birleştirme anahtarını kullanarak tablolar.
Sadece ile oluşturulan tabloları destekler ENGINE = Join(ANY, LEFT, <join_keys>)
deyim.
Sözdizimi
joinGet(join_storage_table_name, `value_column`, join_keys)
Parametre
join_storage_table_name
— an tanıtıcı aramanın nerede yapıldığını gösterir. Tanımlayıcı varsayılan veritabanında aranır (bkz. parametredefault_database
config dosyası). Varsayılan veritabanını geçersiz kılmak içinUSE db_name
veya ayırıcı aracılığıyla veritabanını ve tabloyu belirtindb_name.db_table
örnek bakın.value_column
— name of the column of the table that contains required data.join_keys
— list of keys.
Döndürülen değer
Anahtarların listesine karşılık gelen değerlerin listesini döndürür.
Kaynak tabloda kesin yoksa o zaman 0
veya null
esas alınarak iade edilecektir join_use_nulls ayar.
Hakkında daha fazla bilgi join_use_nulls
içinde Birleştirme işlemi.
Örnek
Giriş tablosu:
CREATE DATABASE db_test
CREATE TABLE db_test.id_val(`id` UInt32, `val` UInt32) ENGINE = Join(ANY, LEFT, id) SETTINGS join_use_nulls = 1
INSERT INTO db_test.id_val VALUES (1,11)(2,12)(4,13)
┌─id─┬─val─┐
│ 4 │ 13 │
│ 2 │ 12 │
│ 1 │ 11 │
└────┴─────┘
Sorgu:
SELECT joinGet(db_test.id_val,'val',toUInt32(number)) from numbers(4) SETTINGS join_use_nulls = 1
Sonuç:
┌─joinGet(db_test.id_val, 'val', toUInt32(number))─┐
│ 0 │
│ 11 │
│ 12 │
│ 0 │
└──────────────────────────────────────────────────┘
modelEvaluate(model_name, …)
Dış modeli değerlendirin. Bir model adı ve model bağımsız değişkenleri kabul eder. Float64 Döndürür.
throwİf(x [, custom_message])
Argüman sıfır değilse bir istisna atın. custom_message-isteğe bağlı bir parametredir: sabit bir dize, bir hata mesajı sağlar
SELECT throwIf(number = 3, 'Too many') FROM numbers(10);
↙ Progress: 0.00 rows, 0.00 B (0.00 rows/s., 0.00 B/s.) Received exception from server (version 19.14.1):
Code: 395. DB::Exception: Received from localhost:9000. DB::Exception: Too many.
kimlik
Bağımsız değişkeni olarak kullanılan aynı değeri döndürür. Hata ayıklama ve test için kullanılan, dizin kullanarak iptal ve tam bir tarama sorgu performansını almak için izin verir. Olası dizin kullanımı için sorgu analiz edildiğinde, analizör içeriye bakmaz identity
işlevler.
Sözdizimi
identity(x)
Örnek
Sorgu:
SELECT identity(42)
Sonuç:
┌─identity(42)─┐
│ 42 │
└──────────────┘
randomPrintableASCİİ
Rastgele bir dizi ile bir dize oluşturur ASCII yazdırılabilir karakterler.
Sözdizimi
randomPrintableASCII(length)
Parametre
-
length
— Resulting string length. Positive integer.If you pass `length < 0`, behavior of the function is undefined.
Döndürülen değer
- Rastgele bir dizi dize ASCII yazdırılabilir karakterler.
Tür: Dize
Örnek
SELECT number, randomPrintableASCII(30) as str, length(str) FROM system.numbers LIMIT 3
┌─number─┬─str────────────────────────────┬─length(randomPrintableASCII(30))─┐
│ 0 │ SuiCOSTvC0csfABSw=UcSzp2.`rv8x │ 30 │
│ 1 │ 1Ag NlJ &RCN:*>HVPG;PE-nO"SUFD │ 30 │
│ 2 │ /"+<"wUTh:=LjJ Vm!c&hI*m#XTfzz │ 30 │
└────────┴────────────────────────────────┴──────────────────────────────────┘