一尘不染

SELECT $ (dollar sign)

sql

我在SQL Server上有很好的经验,但是突然我发现了这个奇怪的SELECT命令

SELECT $

或者

SELECT $ FROM tableName

0.00始终返回标量值为零(),或者返回所有值为的新列0.00

那是什么?


阅读 157

收藏
2021-03-10

共1个答案

一尘不染

当SQL Server遇到您的$符号时,它将自动将其转换为money数据类型。由于美元符号后没有显式值,因此SQL
Server假设为0.00。从MSDN

转换为money或时smallmoney,假定整数为货币单位。例如,整数值4转换为等值的货币4美元(对于us_english,默认语言)。浮点值中小数点右边的数字四舍五入为货币值的四个小数位。要转换为整数数据类型的char或varchar数据类型的表达式必须仅由数字和可选的正负号(+或-)组成。前导空格被忽略。转换为money的char或varchar数据类型的表达式还可以包含可选的小数点和前导美元符号($)。

2021-03-10