首页 > 解决方案 > SELECT $ 在 MS SQL Server 中的作用是什么?

问题描述

目的是什么

SELECT $

在 MS SQL 中?我用谷歌搜索,但我不明白为什么我搜索的内容是错误的,因为我没有得到任何结果。我所知道的是这个查询返回

.0000

编辑:我知道这些问题是重复的,但我的答案得到了更好的解释。

标签: sql-server

解决方案


这是隐式转换为MONEY.

线索:

SELECT ISNUMERIC($);   -- 1
SELECT ISNUMERIC('$'); -- 1

SELECT CONVERT(money, $);   -- 0.00
SELECT CONVERT(money, '$'); -- 0.00

-- even empty strings and commas behave this way:
SELECT CONVERT(money, '');   -- 0.00
SELECT CONVERT(money, ',');  -- 0.00

-- as do pound, euro, cent, and I'm sure many others:
SELECT CONVERT(money, £), CONVERT(money, €), CONVERT(money, ¢); -- 0.00, 0.00, 0.00

但最有说服力的:

SELECT SQL_VARIANT_PROPERTY(x, 'BaseType')
FROM (SELECT $) AS y(x); -- money

推荐阅读