今天我写了一个应该返回错误的查询。相反,它返回值为15的列名this.http.get<DomainUser>(this.apiUrl + '/Users/Self').subscribe(
next => {
console.info('User: "%s" (Admin: %s)', next.name, next.isAdmin ? 'yes' : 'no');
// ...
},
error => {
// error handling
}
);
和数据类型const fs = require('fs')
const {Transform} = require('stream')
const upperCaseTransform = new Transform({
transform: (chunk, encoding, done) => {
const result = chunk.toString().toUpperCase()
done(null, result)
}
})
fs.createReadStream('input.txt')
.pipe(upperCaseTransform)
.pipe(fs.createWriteStream('output.txt'))
。
你知道为什么吗?
why
结果:
money
答案 0 :(得分:9)
货币常数表示为数字字符串,可选的小数点和可选的货币符号作为前缀
所以select €15
导致money
常量,select $15
以及select ¥15
也是如此。
Jeroen in the comments指出了一个特点:
因为日元符号(¥)是货币指示符,并且在某些原生日语字符集中,其代码点与ASCII中反斜杠的代码点相同。
另见MSDN: money and smallmoney (Transact-SQL)。
所以select \15
似乎等于select ¥15
。
对于列名称:select 5a
会生成一个别名为a
且值为5
的列。因为“a”不是数字后缀,所以它被视为select 5 as a
,其中“as”是可选的。相反,select 5e
会在未命名的列中返回5
,因为“e” 是一个数字后缀。
所以你发现了另一种写select ¥15 as why
的方式。