|
|
1
11
|
|
2
5
首先将字符串转换为货币,然后将其转换为任何其他数字格式,因为货币类型总是给出一个真正的数字字符串。你永远不会看到错误。 在你的查询中尝试以下内容,你就会知道我在说什么。两者都将返回2345.5656。Money数据类型四舍五入到小数点后4位,因此转换会导致四舍五进到小数点前4位。
Cast(以浮点数形式铸造('2344'表示货币)将完美运行或 cast(将'2344'转换为十进制(7,2))也可以使用。 即使强制转换(cast('$2345.56556'作为货币)为int)也能完美地将其四舍五入到最接近的整数。 |
|
|
3
4
|
|
|
4
1
当输入表达式的计算结果为有效的整数、浮点数、货币或十进制类型时,ISNUMERIC返回1;
|
|
5
1
凯尔, 我认为这解决了问题。问题在于ELSE子句将结果初始化为INTEGER。通过对FLOAT进行明确的类型转换并添加Quassnoi的建议,它似乎奏效了。
|
|
|
6
1
|
|
|
7
0
|
|
|
8
0
我刚刚遇到这个问题。 如果你不介意十进制长度的限制,你可以尝试这个解决方案。
|
|
|
Johnny T · 基于当前值的SQL合并表[重复] 1 年前 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
ojek · 如何对SQL结果进行分组和编号? 1 年前 |
|
|
senek · 如何在PL/SQL中将选择结果(列)放入数组中 1 年前 |
|
|
Sax · 规范化Google表格(第一步) 1 年前 |
|
|
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 1 年前 |
|
|
Andrus · 如何在sql中查找第二个匹配项 1 年前 |