|
|
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
我刚刚遇到这个问题。 如果你不介意十进制长度的限制,你可以尝试这个解决方案。
|
|
|
sqlrobert · SQL-如何查找不包含特定字段值的一组记录 3 年前 |
|
|
Nick Fleetwood · 调度语法的LINQ查询 4 年前 |
|
|
Mateen Bagheri · 选择表的计数并选择其自身 4 年前 |
|
Java · 使用交叉应用同时显示两列 4 年前 |