2020-04-15 13:56:49 +00:00
---
machine_translated: true
2020-05-15 04:34:54 +00:00
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
2020-04-15 13:56:49 +00:00
toc_priority: 66
toc_title: "Di\u011Fer"
---
2020-04-30 18:19:18 +00:00
# Diğer Fonksiyonlar {#other-functions}
2020-04-15 13:56:49 +00:00
## hostnamename() {#hostname}
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.
2020-05-15 04:34:54 +00:00
## getMacro {#getmacro}
Get as a nam AED value from the [makrolar ](../../operations/server-configuration-parameters/settings.md#macros ) sunucu yapı landı rması bölümü.
**Sözdizimi**
``` sql
getMacro(name);
```
**Parametre**
- `name` — Name to retrieve from the `macros` bölme. [Dize ](../../sql-reference/data-types/string.md#string ).
**Döndürülen değer**
- Belirtilen makro değeri.
Tür: [Dize ](../../sql-reference/data-types/string.md ).
**Örnek**
Örnek `macros` sunucu yapı landı rma dosyası ndaki bölüm:
``` xml
< macros >
< test > Value< / test >
< / macros >
```
Sorgu:
``` sql
SELECT getMacro('test');
```
Sonuç:
``` text
┌─getMacro('test')─┐
│ Value │
└──────────────────┘
```
Aynı değeri elde etmenin alternatif bir yolu:
``` sql
SELECT * FROM system.macros
WHERE macro = 'test';
```
``` text
┌─macro─┬─substitution─┐
│ test │ Value │
└───────┴──────────────┘
```
2020-04-15 13:56:49 +00:00
## FQDN {#fqdn}
Tam etki alanı adı nı döndürür.
**Sözdizimi**
``` sql
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:
``` sql
SELECT FQDN();
```
Sonuç:
``` text
┌─FQDN()──────────────────────────┐
│ clickhouse.ru-central1.internal │
└─────────────────────────────────┘
```
## basename {#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.
``` sql
basename( expr )
```
**Parametre**
2020-04-30 18:19:18 +00:00
- `expr` — Expression resulting in a [Dize ](../../sql-reference/data-types/string.md ) type value. Tüm ters eğik çizgilerin ortaya çı kan değerden kaçması gerekir.
2020-04-15 13:56:49 +00:00
**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**
``` sql
SELECT 'some/long/path/to/file' AS a, basename(a)
```
``` text
┌─a──────────────────────┬─basename('some\\long\\path\\to\\file')─┐
│ some\long\path\to\file │ file │
└────────────────────────┴────────────────────────────────────────┘
```
``` sql
SELECT 'some\\long\\path\\to\\file' AS a, basename(a)
```
``` text
┌─a──────────────────────┬─basename('some\\long\\path\\to\\file')─┐
│ some\long\path\to\file │ file │
└────────────────────────┴────────────────────────────────────────┘
```
``` sql
SELECT 'some-file-name' AS a, basename(a)
```
``` text
┌─a──────────────┬─basename('some-file-name')─┐
│ some-file-name │ some-file-name │
└────────────────┴────────────────────────────┘
```
## visibleWidth(x) {#visiblewidthx}
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.
``` sql
SELECT visibleWidth(NULL)
```
``` text
┌─visibleWidth(NULL)─┐
│ 4 │
└────────────────────┘
```
## toTypeName (x) {#totypenamex}
Geçirilen bağı msı z değişken türü adı nı içeren bir dize döndürür.
2020-05-15 04:34:54 +00:00
Eğer `NULL` fonksiyona girdi olarak geçirilir, daha sonra `Nullable(Nothing)` bir iç karşı lı k gelen türü `NULL` Clickhouse'da temsil.
2020-04-15 13:56:49 +00:00
## blockSize() {#function-blocksize}
Bloğun boyutunu alı r.
2020-05-15 04:34:54 +00:00
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.
2020-04-15 13:56:49 +00:00
## materialize (x) {#materializex}
Bir sabiti yalnı zca bir değer içeren tam bir sütuna dönüştürür.
2020-05-15 04:34:54 +00:00
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.
2020-04-15 13:56:49 +00:00
## ignore(…) {#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) {#sleepseconds}
Uykular ‘ seconds’ her veri bloğunda saniye. Bir tamsayı veya kayan noktalı sayı belirtebilirsiniz.
## sleepEachRow (saniye) {#sleepeachrowseconds}
Uykular ‘ seconds’ her satı rda saniye. Bir tamsayı veya kayan noktalı sayı belirtebilirsiniz.
## currentDatabase() {#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() {#other-function-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.
``` sql
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:
``` sql
SELECT currentUser();
```
Sonuç:
``` text
┌─currentUser()─┐
│ default │
└───────────────┘
```
2020-05-15 04:34:54 +00:00
## ı sconstant {#is-constant}
Bağı msı z değişken sabit bir ifade olup olmadı ğı nı denetler.
A constant expression means an expression whose resulting value is known at the query analysis (i.e. before execution). For example, expressions over [harfler ](../syntax.md#literals ) sabit ifadelerdir.
Fonksiyon geliştirme, hata ayı klama ve gösteri için tasarlanmı ştı r.
**Sözdizimi**
``` sql
isConstant(x)
```
**Parametre**
- `x` — Expression to check.
**Döndürülen değerler**
- `1` — `x` sabit istir.
- `0` — `x` sabit olmayan.
Tür: [Uİnt8 ](../data-types/int-uint.md ).
**Örnekler**
Sorgu:
``` sql
SELECT isConstant(x + 1) FROM (SELECT 43 AS x)
```
Sonuç:
``` text
┌─isConstant(plus(x, 1))─┐
│ 1 │
└────────────────────────┘
```
Sorgu:
``` sql
WITH 3.14 AS pi SELECT isConstant(cos(pi))
```
Sonuç:
``` text
┌─isConstant(cos(pi))─┐
│ 1 │
└─────────────────────┘
```
Sorgu:
``` sql
SELECT isConstant(number) FROM numbers(1)
```
Sonuç:
``` text
┌─isConstant(number)─┐
│ 0 │
└────────────────────┘
```
2020-04-15 13:56:49 +00:00
## isFinite (x) {#isfinitex}
2020-05-15 04:34:54 +00:00
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.
2020-04-15 13:56:49 +00:00
## isİnfinite (x) {#isinfinitex}
2020-05-15 04:34:54 +00:00
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.
2020-04-15 13:56:49 +00:00
## ifNotFinite {#ifnotfinite}
Kayan nokta değerinin sonlu olup olmadı ğı nı kontrol eder.
**Sözdizimi**
ifNotFinite(x,y)
**Parametre**
2020-04-30 18:19:18 +00:00
- `x` — Value to be checked for infinity. Type: [Yüzdürmek\* ](../../sql-reference/data-types/float.md ).
- `y` — Fallback value. Type: [Yüzdürmek\* ](../../sql-reference/data-types/float.md ).
2020-04-15 13:56:49 +00:00
**Döndürülen değer**
- `x` eğer `x` son isludur.
- `y` eğer `x` sonlu değildir.
**Örnek**
Sorgu:
SELECT 1/0 as infimum, ifNotFinite(infimum,42)
Sonuç:
┌─infimum─┬─ifNotFinite(divide(1, 0), 42)─┐
│ inf │ 42 │
└─────────┴───────────────────────────────┘
2020-04-30 18:19:18 +00:00
Kullanarak benzer sonuç alabilirsiniz [üçlü operatör ](conditional-functions.md#ternary-operator ): `isFinite(x) ? x : y` .
2020-04-15 13:56:49 +00:00
## ı snan (x) {#isnanx}
2020-05-15 04:34:54 +00:00
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.
2020-04-15 13:56:49 +00:00
## hasColumnİnTable(\[‘ hostname’ \[, ‘ username’ \[, ‘ password’ \]\],\] ‘ database’ , ‘ table’ , ‘ column’ ) {#hascolumnintablehostname-username-password-database-table-column}
2020-05-15 04:34:54 +00:00
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.
2020-04-15 13:56:49 +00:00
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 {#function-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 in `Int64` .
- `width` — Constant, positive integer, can be fractional.
Bant, bir sembolün sekizde birine doğrulukla çizilir.
Örnek:
``` sql
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
```
``` text
┌──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 {#transform}
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) {#transformx-array-from-array-to-default}
`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.
2020-05-15 04:34:54 +00:00
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.
2020-04-15 13:56:49 +00:00
Örnek:
``` sql
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
```
``` text
┌─title─────┬──────c─┐
│ Yandex │ 498635 │
│ Google │ 229872 │
│ Other │ 104472 │
└───────────┴────────┘
```
### transform (x, array\_from, array\_to) {#transformx-array-from-array-to}
İlk vary thatasyon differsdan farklı dı r. ‘ default’ argüman atlandı .
2020-05-15 04:34:54 +00:00
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’ .
2020-04-15 13:56:49 +00:00
Türler:
`transform(T, Array(T), Array(T)) -> T`
Örnek:
``` sql
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
```
``` text
┌─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) {#formatreadablesizex}
Boyutu (bayt sayı sı ) kabul eder. Bir sonek (KiB, Mı B, vb.) ile yuvarlak bir boyut döndürür.) bir dize olarak.
Örnek:
``` sql
SELECT
arrayJoin([1, 1024, 1024*1024, 192851925]) AS filesize_bytes,
formatReadableSize(filesize_bytes) AS filesize
```
``` text
┌─filesize_bytes─┬─filesize───┐
│ 1 │ 1.00 B │
│ 1024 │ 1.00 KiB │
│ 1048576 │ 1.00 MiB │
│ 192851925 │ 183.92 MiB │
└────────────────┴────────────┘
```
## en az (a, b) {#leasta-b}
2020-05-15 04:34:54 +00:00
A ve B'den en küçük değeri döndürür.
2020-04-15 13:56:49 +00:00
## en büyük (a, b) {#greatesta-b}
2020-05-15 04:34:54 +00:00
A ve B'nin en büyük değerini döndürür.
2020-04-15 13:56:49 +00:00
## çalı şma süresi() {#uptime}
Sunucunun çalı şma süresini saniyeler içinde döndürür.
## sürüm() {#version}
Sunucu sürümünü bir dize olarak döndürür.
## saat dilimi() {#timezone}
Sunucunun saat dilimini döndürür.
## blockNumber {#blocknumber}
Satı rı n bulunduğu veri bloğunun sı ra numarası nı döndürür.
## rowNumberİnBlock {#function-rownumberinblock}
Veri bloğundaki satı rı n sı ra numarası nı döndürür. Farklı veri blokları her zaman yeniden hesaplanı r.
## rownumberı nallblocks() {#rownumberinallblocks}
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 {#neighbor}
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**
``` sql
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.
2020-04-30 18:19:18 +00:00
- `offset` — The number of rows forwards or backwards from the current row of `column` . [Int64 ](../../sql-reference/data-types/int-uint.md ).
2020-04-15 13:56:49 +00:00
- `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çinde `offset` eğer geçerli satı rdan uzaklı k `offset` değer blok sı nı rları dı şı nda değil.
- İçin varsayı lan değer `column` eğer `offset` değer, blok sı nı rları nı n dı şı ndadı r. Eğer `default_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:
``` sql
SELECT number, neighbor(number, 2) FROM system.numbers LIMIT 10;
```
Sonuç:
``` text
┌─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:
``` sql
SELECT number, neighbor(number, 2, 999) FROM system.numbers LIMIT 10;
```
Sonuç:
``` text
┌─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:
``` sql
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ç:
``` text
┌──────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) {#other_functions-runningdifference}
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:
``` sql
SELECT
EventID,
EventTime,
runningDifference(EventTime) AS delta
FROM
(
SELECT
EventID,
EventTime
FROM events
WHERE EventDate = '2016-11-24'
ORDER BY EventTime ASC
LIMIT 5
)
```
``` text
┌─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ı .
``` sql
SELECT
number,
runningDifference(number + 1) AS diff
FROM numbers(100000)
WHERE diff != 1
```
``` text
┌─number─┬─diff─┐
│ 0 │ 0 │
└────────┴──────┘
┌─number─┬─diff─┐
│ 65536 │ 0 │
└────────┴──────┘
```
``` sql
set max_block_size=100000 -- default value is 65536!
SELECT
number,
runningDifference(number + 1) AS diff
FROM numbers(100000)
WHERE diff != 1
```
``` text
┌─number─┬─diff─┐
│ 0 │ 0 │
└────────┴──────┘
```
## runningDifferenceStartingWithFirstvalue {#runningdifferencestartingwithfirstvalue}
2020-04-30 18:19:18 +00:00
İçin aynı [runningDifference ](./other-functions.md#other_functions-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.
2020-04-15 13:56:49 +00:00
## MACNumToString (num) {#macnumtostringnum}
2020-05-15 04:34:54 +00:00
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).
2020-04-15 13:56:49 +00:00
## MACStringToNum (s) {#macstringtonums}
MACNumToString ters işlevi. MAC adresi geçersiz bir biçime sahipse, 0 döndürür.
## MACStringToOUİ (s) {#macstringtoouis}
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 {#getsizeofenumtype}
2020-04-30 18:19:18 +00:00
Alan sayı sı nı döndürür [Enum ](../../sql-reference/data-types/enum.md ).
2020-04-15 13:56:49 +00:00
``` sql
getSizeOfEnumType(value)
```
**Parametre:**
- `value` — Value of type `Enum` .
**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**
``` sql
SELECT getSizeOfEnumType( CAST('a' AS Enum8('a' = 1, 'b' = 2) ) ) AS x
```
``` text
┌─x─┐
│ 2 │
└───┘
```
## blockSerializedSize {#blockserializedsize}
Diskteki boyutu döndürür (sı kı ştı rmayı hesaba katmadan).
``` sql
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**
``` sql
SELECT blockSerializedSize(maxState(1)) as x
```
``` text
┌─x─┐
│ 2 │
└───┘
```
## toColumnTypeName {#tocolumntypename}
2020-05-15 04:34:54 +00:00
RAM'DEKİ sütunun veri türünü temsil eden sı nı fı n adı nı döndürür.
2020-04-15 13:56:49 +00:00
``` sql
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ği`toTypeName ' and ' toColumnTypeName`**
``` sql
SELECT toTypeName(CAST('2018-01-01 01:02:03' AS DateTime))
```
``` text
┌─toTypeName(CAST('2018-01-01 01:02:03', 'DateTime'))─┐
│ DateTime │
└─────────────────────────────────────────────────────┘
```
``` sql
SELECT toColumnTypeName(CAST('2018-01-01 01:02:03' AS DateTime))
```
``` text
┌─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 {#dumpcolumnstructure}
2020-05-15 04:34:54 +00:00
Ram'deki veri yapı ları nı n ayrı ntı lı bir açı klaması nı verir
2020-04-15 13:56:49 +00:00
``` sql
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**
``` sql
SELECT dumpColumnStructure(CAST('2018-01-01 01:02:03', 'DateTime'))
```
``` text
┌─dumpColumnStructure(CAST('2018-01-01 01:02:03', 'DateTime'))─┐
│ DateTime, Const(size = 1, UInt32(size = 1)) │
└──────────────────────────────────────────────────────────────┘
```
## defaultValueOfArgumentType {#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.
``` sql
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.
2020-04-30 18:19:18 +00:00
- `ᴺᵁᴸᴸ` için [Nullable ](../../sql-reference/data-types/nullable.md ).
2020-04-15 13:56:49 +00:00
**Örnek**
``` sql
SELECT defaultValueOfArgumentType( CAST(1 AS Int8) )
```
``` text
┌─defaultValueOfArgumentType(CAST(1, 'Int8'))─┐
│ 0 │
└─────────────────────────────────────────────┘
```
``` sql
SELECT defaultValueOfArgumentType( CAST(1 AS Nullable(Int8) ) )
```
``` text
┌─defaultValueOfArgumentType(CAST(1, 'Nullable(Int8)'))─┐
│ ᴺᵁᴸᴸ │
└───────────────────────────────────────────────────────┘
```
## çoğaltmak {#other-functions-replicate}
Tek bir değere sahip bir dizi oluşturur.
2020-04-30 18:19:18 +00:00
İç uygulama için kullanı lan [arrayJoin ](array-join.md#functions_arrayjoin ).
2020-04-15 13:56:49 +00:00
``` sql
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 value `x` .
- `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:
``` sql
SELECT replicate(1, ['a', 'b', 'c'])
```
Sonuç:
``` text
┌─replicate(1, ['a', 'b', 'c'])─┐
│ [1,1,1] │
└───────────────────────────────┘
```
## filesystemAvailable {#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](#filesystemfree)) çünkü OS için biraz alan ayrı lmı ştı r.
**Sözdizimi**
``` sql
filesystemAvailable()
```
**Döndürülen değer**
- Bayt olarak kullanı labilir kalan alan miktarı .
2020-04-30 18:19:18 +00:00
Tür: [Uİnt64 ](../../sql-reference/data-types/int-uint.md ).
2020-04-15 13:56:49 +00:00
**Örnek**
Sorgu:
``` sql
SELECT formatReadableSize(filesystemAvailable()) AS "Available space", toTypeName(filesystemAvailable()) AS "Type";
```
Sonuç:
``` text
┌─Available space─┬─Type───┐
│ 30.75 GiB │ UInt64 │
└─────────────────┴────────┘
```
## filesystemFree {#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**
``` sql
filesystemFree()
```
**Döndürülen değer**
- Bayt cinsinden boş alan miktarı .
2020-04-30 18:19:18 +00:00
Tür: [Uİnt64 ](../../sql-reference/data-types/int-uint.md ).
2020-04-15 13:56:49 +00:00
**Örnek**
Sorgu:
``` sql
SELECT formatReadableSize(filesystemFree()) AS "Free space", toTypeName(filesystemFree()) AS "Type";
```
Sonuç:
``` text
┌─Free space─┬─Type───┐
│ 32.39 GiB │ UInt64 │
└────────────┴────────┘
```
## filesystemCapacity {#filesystemcapacity}
2020-04-30 18:19:18 +00:00
Dosya sisteminin kapasitesini bayt cinsinden döndürür. Değerlendirme için, [yol ](../../operations/server-configuration-parameters/settings.md#server_configuration_parameters-path ) veri dizinine yapı landı rı lmalı dı r.
2020-04-15 13:56:49 +00:00
**Sözdizimi**
``` sql
filesystemCapacity()
```
**Döndürülen değer**
- Dosya sisteminin bayt cinsinden kapasite bilgisi.
2020-04-30 18:19:18 +00:00
Tür: [Uİnt64 ](../../sql-reference/data-types/int-uint.md ).
2020-04-15 13:56:49 +00:00
**Örnek**
Sorgu:
``` sql
SELECT formatReadableSize(filesystemCapacity()) AS "Capacity", toTypeName(filesystemCapacity()) AS "Type"
```
Sonuç:
``` text
┌─Capacity──┬─Type───┐
│ 39.32 GiB │ UInt64 │
└───────────┴────────┘
```
## finalizeAggregation {#function-finalizeaggregation}
Toplama işlevinin durumunu alı r. Toplama sonucunu döndürür (kesinleşmiş durum).
## runningAccumulate {#function-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 {#joinget}
2020-04-30 18:19:18 +00:00
İşlev, tablodan verileri bir tablodan aynı şekilde ayı klamanı zı sağlar [sözlük ](../../sql-reference/dictionaries/index.md ).
2020-04-15 13:56:49 +00:00
2020-04-30 18:19:18 +00:00
Veri alı r [Katmak ](../../engines/table-engines/special/join.md#creating-a-table ) belirtilen birleştirme anahtarı nı kullanarak tablolar.
2020-04-15 13:56:49 +00:00
Sadece ile oluşturulan tabloları destekler `ENGINE = Join(ANY, LEFT, <join_keys>)` deyim.
**Sözdizimi**
``` sql
joinGet(join_storage_table_name, `value_column` , join_keys)
```
**Parametre**
- `join_storage_table_name` — an [tanı tı cı ](../syntax.md#syntax-identifiers ) aramanı n nerede yapı ldı ğı nı gösterir. Tanı mlayı cı varsayı lan veritabanı nda aranı r (bkz. parametre `default_database` config dosyası ). Varsayı lan veritabanı nı geçersiz kı lmak için `USE db_name` veya ayı rı cı aracı lı ğı yla veritabanı nı ve tabloyu belirtin `db_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 ](../../operations/settings/settings.md#join_use_nulls ) ayar.
2020-04-30 18:19:18 +00:00
Hakkı nda daha fazla bilgi `join_use_nulls` içinde [Birleştirme işlemi ](../../engines/table-engines/special/join.md ).
2020-04-15 13:56:49 +00:00
**Örnek**
Giriş tablosu:
``` sql
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)
```
``` text
┌─id─┬─val─┐
│ 4 │ 13 │
│ 2 │ 12 │
│ 1 │ 11 │
└────┴─────┘
```
Sorgu:
``` sql
SELECT joinGet(db_test.id_val,'val',toUInt32(number)) from numbers(4) SETTINGS join_use_nulls = 1
```
Sonuç:
``` text
┌─joinGet(db_test.id_val, 'val', toUInt32(number))─┐
│ 0 │
│ 11 │
│ 12 │
│ 0 │
└──────────────────────────────────────────────────┘
```
## modelEvaluate(model\_name, …) {#function-modelevaluate}
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\]) {#throwifx-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
``` sql
SELECT throwIf(number = 3, 'Too many') FROM numbers(10);
```
``` text
↙ 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 {#identity}
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**
``` sql
identity(x)
```
**Örnek**
Sorgu:
``` sql
SELECT identity(42)
```
Sonuç:
``` text
┌─identity(42)─┐
│ 42 │
└──────────────┘
```
## randomPrintableASCİİ {#randomascii}
Rastgele bir dizi ile bir dize oluşturur [ASCII ](https://en.wikipedia.org/wiki/ASCII#Printable_characters ) yazdı rı labilir karakterler.
**Sözdizimi**
``` sql
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 ](https://en.wikipedia.org/wiki/ASCII#Printable_characters ) yazdı rı labilir karakterler.
2020-04-30 18:19:18 +00:00
Tür: [Dize ](../../sql-reference/data-types/string.md )
2020-04-15 13:56:49 +00:00
**Örnek**
``` sql
SELECT number, randomPrintableASCII(30) as str, length(str) FROM system.numbers LIMIT 3
```
``` text
┌─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 │
└────────┴────────────────────────────────┴──────────────────────────────────┘
```
[Orijinal makale ](https://clickhouse.tech/docs/en/query_language/functions/other_functions/ ) <!--hide-->