精度和小数位是自动指定的,无法在声明 DECIMAL 时定义。只有强制转换为 DECIMAL 时才可以指定精度和小数位。
仅包含数字串,并且不用引号括起来,也就是说,既不包含十进制小数点,也不包含指数(例如 12345)的十进制值属于 INTEGER 类型(如果它们足够小,能够表示为整数)。否则便属于 DECIMAL 类型。
由数字串组成(带或不带十进制小数点和指数,例如 123e1),并且不用引号括起来的十进制值属于 FLOAT 类型(如果它们足够小,能够表示为浮点数)。否则便属于 DECIMAL 类型。
由关键字 DECIMAL 和用引号括起来的数字串组成(带或不带十进制小数点和指数)的十进制值属于 DECIMAL 类型,例如,DECIMAL '42'、DECIMAL '1.2346789e+203'。
SET VAL [equals char] CAST('123456' AS DECIMAL(3,0))