根据我在SQL Server书籍中所找到的:
\ (反斜杠) (Transact-SQL)
将长字符串常量分成两行或多行以提高可读性。
和
SELECT Clause (Transact-SQL)
...$IDENTITY | $ROWGUID
和
$PARTITION (Transact-SQL)
返回一个集合的分区列值将被映射到哪个指定分区函数的分区号。
这些是在T-SQL,特别是SQL Server中使用\
和$
的用法。
现在,我有一个查询如下:
SELECT \ a, $ b, \11 c, $12 d;
具有如下有效结果:
a | b | c | d
-----+------+-------+-------
0.00 | 0.00 | 11.00 | 12.00
我认为有些关于这个字符的东西我找不到了。
编辑: 我发现,如果货币符号后面跟着一个数字,SQL Server会删除定义的符号,并将该值存储为货币数据类型:
我认为,SQL Server将单个货币符号翻译成公式部分中的最后一个短语,这些部分位于 + 和 - 之间,仅在部分结尾处出现,例如-$、($),(12+$)、($) + 12、$ * (12-$)等,而不是$+1、2*$-1。另外,我发现$ 2与$2相同。
以上所有行为对于\都是相同的,这意味着SQL Server认为\是货币符号!
\
是一个货币符号!!!可能与历史上广泛使用的大多数兼容美国ASCII的日语编码有关,其中将日元符号放置在US-ASCII中的反斜杠代码点上。仍然有一些字体将反斜杠呈现为日元符号。 - user743382$
、\
、€
和£
似乎被解析成相同的方式。 - ypercubeᵀᴹ