# 数値関数
# plus
値 a
と b
の和を計算します。
plus(a, b)
整数と日付または日時を加算することも可能です。前者の操作では日付の日数が増加し、後者の操作では日時の秒数が増加します。
エイリアス
a + b
(演算子)
# minus
値 a
と b
の差を計算します。結果は常に符号付きです。
plus
と同様に、日付または日時から整数を引くことも可能です。
minus(a, b)
エイリアス
a - b
(演算子)
# multiply
値 a
と b
の積を計算します。
multiply(a, b)
エイリアス:
a * b
(演算子)
# divide
値 a
と b
の商を計算します。結果の型は常に Float64 (opens new window) です。整数の除算は intDiv
関数で提供されます。
divide(a, b)
0 での除算は inf
、inf
、または nan
を返します。
エイリアス
a / b
(演算子)
# exp
与えられた引数の e のべき乗を返します。
exp(x)
# log2
引数の二進対数を返します。
log2(x)
# log10
引数の十進対数を返します。
log10(x)
# cos
引数の余弦を返します。
cos(x)
# tan
引数の正接を返します。
tan(x)
# sin
引数の正弦を返します。
sin(x)
# sqrt
引数の平方根を返します。
sqrt(x)
# abs
a
の絶対値を計算します。a
が符号なしの型である場合は効果がありません。a
が符号付きの型である場合、符号なしの数値を返します。
abs(a)
# floor
x
以下の最大の整数を返します。丸められる数は1 / 10Nの倍数であり、1 / 10Nが正確でない場合は適切なデータ型の最も近い数値です。 'N'は整数定数であり、オプションのパラメータです。デフォルトではゼロであり、整数に丸めることを意味します。 'N'は負の値にすることもできます。
floor(x[, N])
x
は任意の数値型です。結果は同じ型の数値です。整数の引数の場合、負のN
値で丸めることが意味があります(非負のN
の場合、関数は何もしません)。丸めによってオーバーフローが発生する場合(たとえば、floor(-128, -1))、実装固有の結果が返されます。
例
floor(123.45, 1) = 123.4, floor(123.45, -1) = 120
# ceil
x
以上の最小の整数を返します。それ以外の点では、floor
関数と同じです(上記参照)。
# round
値を指定された小数位数に丸めます。関数は指定された桁数の最も近い数値を返します。与えられた数が周囲の数と等しい距離を持つ場合、関数は浮動小数点数型では銀行家の丸めを使用し、他の数値型(Decimal)ではゼロから遠ざかるように丸めます。
round(expression [, decimal_places])
引数
expression
— 丸める数値。数値データ型を返す任意の式であることができます。decimal-places
— 整数値。decimal-places > 0
の場合、関数は小数点の右側の値を丸めます。decimal-places < 0
の場合、関数は小数点の左側の値を丸めます。decimal-places = 0
の場合、関数は整数に丸めます。この場合、引数は省略できます。
返される値
入力数と同じ型の丸められた数値。
例
Floatと一緒に使用する場合
SELECT number / 2 AS x, round(x) FROM system.numbers LIMIT 3
┌───x─┬─round(divide(number, 2))─┐ │ 0 │ 0 │ │ 0.5 │ 0 │ │ 1 │ 1 │ └─────┴──────────────────────────┘
Decimalと一緒に使用する場合
SELECT cast(number / 2 AS Decimal(10,4)) AS x, round(x) FROM system.numbers LIMIT 3
┌───x─┬─round(CAST(divide(number, 2), 'Decimal(10, 4)'))─┐ │ 0 │ 0 │ │ 0.5 │ 1 │ │ 1 │ 1 │ └─────┴──────────────────────────────────────────────────┘
最も近い数値に丸める。
round(3.2, 0) = 3 round(4.1267, 2) = 4.13 round(22,-1) = 20 round(467,-2) = 500 round(-467,-2) = -500
銀行家の丸め。
round(3.5) = 4 round(4.5) = 4 round(3.55, 1) = 3.6 round(3.65, 1) = 3.6
# rand32
一様に分布するUInt32の乱数を返します。線形合同生成器を使用します。
# randNormal
正規分布 (opens new window)から引かれたランダムなFloat64を返します。
randNormal(mean, variance)
引数
mean
-Float64
- 分布の平均値variance
-Float64
- 分布の分散
返される値
- ランダムな数値
- 型: Float64
例
SELECT randNormal(10, 2) FROM numbers(5)
┌──randNormal(10, 2)─┐
│ 13.389228911709653 │
│ 8.622949707401295 │
│ 10.801887062682981 │
│ 4.5220192605895315 │
│ 10.901239123982567 │
└────────────────────┘