我有一个查询。
SELECT TypeID, <==Number
APrice as 1, <==Currency
Null as 2
FROM tblA
UNION ALL
SELECT TypeID,
Null as 1,
MPrice as 2 <==Currency
FROM tblM;
如果我尝试在[ID]上应用过滤器,我会在[2]上获得中文字符。 为什么?这两个表都是新的,有5行用于测试代码。
示例数据库链接:
https://wetransfer.com/downloads/515a6bf52505af5a40b58e8949d2ffc720180411064648/6159bb
打开qtrTest并按[ID] = 1或2或3上的过滤器按钮。 你会在[2]上看到中文字符。
示例数据库是全新的,没有损坏的数据。
答案 0 :(得分:1)
访问预设读取计算机系统中默认货币符号的设置。
遵循此路径
控制面板 - &gt;检查语言和地区 - &gt;地区 - &gt;货币
然后,您可以看到系统默认的货币符号
您还可以使用Format
功能设置货币符号。
SELECT TypeID,
Format ( APrice, "#,##0.00 €" ) as 1,
Null as 2
FROM tblA
UNION ALL
SELECT TypeID,
Null as 1,
Format(MPrice, "#,##0.00 €" ) as 2
FROM tblM;
修改强>
您可以使用VAL
函数的简单方法。
它可以将字符串中包含的数字作为适当类型的数值返回。
SELECT TypeID,
Val(Format ( APrice, "#,##0.00 €" )) as 1,
Null as 2
FROM tblA
UNION ALL
SELECT TypeID, Null as 1,
Val(Format(MPrice, "#,##0.00 €" )) as 2
FROM tblM;