📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

TO_DECIMAL



将一个值转换为 DECIMAL 数据类型。

语法

TO_DECIMAL ( <expr> [, '<format>' ] [, <precision> [, <scale> ] ] )

参数

参数描述
exprboolean、number、string 或 variant 类型的表达式。
format可选。一个格式字符串,用于指定十进制结果所需的 precision 和 scale。它可以定义总位数以及小数点后的位数。
precision可选。结果中的有效数字总位数,默认值为 38。
scale可选。小数点后的位数。不得超过 precision,默认值为 0。

格式说明符

格式说明符描述示例输入
'9'可选数字(接受数字或空值,但当前实现要求必须有一个数字)"123"
'0'必需数字(在当前实现中与 9 相同)"123"
'D'小数点(接受 '.' 或 ',',始终规范化为 '.')"12.34"
'G'分组(千位)分隔符(要求输入中为 ',')"1,234"
'S'符号('+' 或 '-',作为前缀应用到结果)"-123"
字面字符任何字面字符都必须在输入中完全匹配出现"NT$123"

示例

SELECT TO_DECIMAL('1234.56'); ╭───────────────────────╮ │ to_decimal('1234.56') │ ├───────────────────────┤ │ 1235 │ ╰───────────────────────╯ SELECT TO_DECIMAL('1234.56', '9999D99'); ╭──────────────────────────────────╮ │ to_decimal('1234.56', '9999D99') │ ├──────────────────────────────────┤ │ 1235 │ ╰──────────────────────────────────╯ SELECT TO_DECIMAL('1234.56', 38, 1); ╭──────────────────────────────╮ │ to_decimal('1234.56', 38, 1) │ ├──────────────────────────────┤ │ 1234.6 │ ╰──────────────────────────────╯ SELECT TO_DECIMAL('NT$1234.56', 'NT$9999D99', 38, 1); ╭───────────────────────────────────────────────╮ │ to_decimal('NT$1234.56', 'NT$9999D99', 38, 1) │ ├───────────────────────────────────────────────┤ │ 1234.6 │ ╰───────────────────────────────────────────────╯

文档内容是否有帮助?