当我在MSQL中引用MSDN关于MONEY
数据类型时,我找到了一个货币符号列表。
任何人都可以指定使用与TSQL查询相关的那些符号
https://msdn.microsoft.com/en-IN/library/ms179882.aspx
答案 0 :(得分:1)
这些符号的存在会影响常量的解释SELECT £1.00
是money数据类型的文字。没有前缀,它将被视为十进制/数字。
SELECT sql_variant_property($1.00,'basetype') AS basetype,
sql_variant_property($1.00,'precision') AS precision,
sql_variant_property($1.00,'scale') AS scale,
sql_variant_property($1.00,'maxlength') AS maxlength
+----------+-----------+-------+-----------+
| basetype | precision | scale | maxlength |
+----------+-----------+-------+-----------+
| money | 19 | 4 | 8 |
+----------+-----------+-------+-----------+
SELECT sql_variant_property(1.00,'basetype') AS basetype,
sql_variant_property(1.00,'precision') AS precision,
sql_variant_property(1.00,'scale') AS scale,
sql_variant_property(1.00,'maxlength') AS maxlength
+----------+-----------+-------+-----------+
| basetype | precision | scale | maxlength |
+----------+-----------+-------+-----------+
| numeric | 3 | 2 | 5 |
+----------+-----------+-------+-----------+
使用哪一个没有区别。
SELECT CASE
WHEN $1.00 = £1.00
THEN 'Equal'
ELSE 'Not Equal'
END /*Returns Equal*/
这些是转换为金钱的字符串中的可选前缀。如果它们存在与否则没有区别。