访问查询数据类型转换

时间:2015-06-08 15:54:08

标签: sql ms-access type-conversion

我尝试从现有表创建表。我希望新列是一个百分比列,数据类型为" Number"。下面的代码将列数据类型更改为" Text"。我尝试使用Format(num,"Percent"),它也是这样。

SELECT 
    Format([DB].[Number1]/DB.[Number2],"0.00%") AS [New Column Name]
INTO newTable
FROM [OldTable] as DB;

2 个答案:

答案 0 :(得分:1)

使用查询存储原始商数,然后调整字段的格式属性。

SELECT 
    ([DB].[Number1] / DB.[Number2]) AS [New Column Name]
INTO newTable
FROM [OldTable] as DB;

您可以在设计视图中打开表格,然后为字段的格式选择“百分比”。如果你想用VBA做同样的事情,我在Access 2010中进行了测试:

Dim db As DAO.Database
Set db = CurrentDb
With db.TableDefs("newTable").Fields("New Column Name")
    .Properties.Append .CreateProperty("Format", dbText, "Percent")
End With

另一种方法是创建表,设置字段格式,然后使用“追加查询”(而不是“生成表查询”)将数据加载到表中。

答案 1 :(得分:0)

删除“%”,它强制结果包含它,只能存储在文本类型字段中。

SELECT 

Format([DB].[Number1]/DB.[Number2],"0.00") AS [New Column Name]

INTO newTable

FROM [OldTable] as DB;

获取百分比乘以100

SELECT 

Format(([DB].[Number1]/DB.[Number2])*100,"0.00") AS [New Column Name]

INTO newTable

FROM [OldTable] as DB;