diff --git a/docs/zh/sql-reference/functions/arithmetic-functions.md b/docs/zh/sql-reference/functions/arithmetic-functions.md index b7cfa87ef94..4cb02c99df4 100644 --- a/docs/zh/sql-reference/functions/arithmetic-functions.md +++ b/docs/zh/sql-reference/functions/arithmetic-functions.md @@ -3,9 +3,9 @@ toc_priority: 35 toc_title: 算术函数 --- -# 算术函数 {#suan-zhu-han-shu} +# 算术函数 {#arithmetic-functions} -对于所有算术函数,结果类型为结果适合的最小数字类型(如果存在这样的类型)。最小数字类型是根据数字的位数,是否有符号以及是否是浮点类型而同时进行的。如果没有足够的位,则采用最高位类型。 +对于所有算术函数,结果类型为结果适合的最小数值类型(如果存在这样的类型)。最小数值类型是根据数值的位数,是否有符号以及是否是浮点类型而同时进行的。如果没有足够的位,则采用最高位类型。 例如: @@ -21,61 +21,63 @@ SELECT toTypeName(0), toTypeName(0 + 0), toTypeName(0 + 0 + 0), toTypeName(0 + 0 溢出的产生方式与C++相同。 -## 加(a,b),a+b {#plusa-b-a-b} +## plus(a, b), a + b operator {#plusa-b-a-b-operator} -计算数字的总和。 -您还可以将Date或DateTime与整数进行相加。在Date的情况下,添加的整数意味着添加相应的天数。对于DateTime,这意味这添加相应的描述。 +计算数值的总和。 +您还可以将Date或DateTime与整数进行相加。在Date的情况下,和整数相加整数意味着添加相应的天数。对于DateTime,这意味着添加相应的秒数。 -## 减(a,b),a-b {#minusa-b-a-b} +## minus(a, b), a - b operator {#minusa-b-a-b-operator} -计算数字之间的差,结果总是有符号的。 +计算数值之间的差,结果总是有符号的。 您还可以将Date或DateTime与整数进行相减。见上面的’plus’。 -## 乘(a,b),a\*b {#multiplya-b-a-b} +## multiply(a, b), a \* b operator {#multiplya-b-a-b-operator} -计算数字的乘积。 +计算数值的乘积。 -## 除以(a,b),a/b {#dividea-b-a-b} +## divide(a, b), a / b operator {#dividea-b-a-b-operator} -计算数字的商。结果类型始终是浮点类型。 +计算数值的商。结果类型始终是浮点类型。 它不是整数除法。对于整数除法,请使用’intDiv’函数。 当除以零时,你得到’inf’,‘- inf’或’nan’。 ## intDiv(a,b) {#intdiva-b} -计算整数数字的商,向下舍入(按绝对值)。 +计算数值的商,向下舍入取整(按绝对值)。 除以零或将最小负数除以-1时抛出异常。 ## intDivOrZero(a,b) {#intdivorzeroa-b} 与’intDiv’的不同之处在于它在除以零或将最小负数除以-1时返回零。 -## 模(a,b),a%b {#moduloa-b-a-b} +## modulo(a, b), a % b operator {#modulo} 计算除法后的余数。 如果参数是浮点数,则通过删除小数部分将它们预转换为整数。 其余部分与C++中的含义相同。截断除法用于负数。 除以零或将最小负数除以-1时抛出异常。 -## 否定(a),-a {#negatea-a} +## moduloOrZero(a, b) {#modulo-or-zero} -计算一个数字的 -用反转符号计算一个数字。结果始终是签名的。 -计算具有反向符号的数字。 结果始终签名。 +和[modulo](#modulo)不同之处在于,除以0时结果返回0 + +## negate(a), -a operator {#negatea-a-operator} + +通过改变数值的符号位对数值取反,结果总是有符号的 ## abs(a) {#arithm_func-abs} -计算数字(a)的绝对值。也就是说,如果a &lt; 0,它返回-a。对于无符号类型,它不执行任何操作。对于有符号整数类型,它返回无符号数。 +计算数值(a)的绝对值。也就是说,如果a \< 0,它返回-a。对于无符号类型,它不执行任何操作。对于有符号整数类型,它返回无符号数。 ## gcd(a,b) {#gcda-b} -返回数字的最大公约数。 +返回数值的最大公约数。 除以零或将最小负数除以-1时抛出异常。 ## lcm(a,b) {#lcma-b} -返回数字的最小公倍数。 +返回数值的最小公倍数。 除以零或将最小负数除以-1时抛出异常。 [来源文章](https://clickhouse.tech/docs/en/query_language/functions/arithmetic_functions/)