在MS Access中强制数据类型进行表查询

Ali*_*ock 5 sql ms-access type-conversion

我在MS Access中有一个查询,它从两个子查询创建一个表.对于正在创建的两个列,我将一个列从第一个子查询划分为第二个子查询中的一列.

第一列的数据类型是double; 第二列的数据类型是十进制,比例为2,但我希望第二列也是一个双精度数.

有没有办法在通过标准生成表Access查询创建表时强制数据类型?

Rap*_*Rap 8

一种方法是在将任何内容放入其中之前显式创建表.

您当前的陈述可能是这样的:

SELECT Persons.LastName,Orders.OrderNo
INTO Persons_Order_Backup
FROM Persons
INNER JOIN Orders
ON Persons.P_Id=Orders.P_Id
WHERE FirstName = 'Alistair'
Run Code Online (Sandbox Code Playgroud)

但你也可以这样做:

----Create NewTable
CREATE TABLE NewTable(FirstName VARCHAR(100), LastName VARCHAR(100), Total DOUBLE)
----INSERT INTO NewTableusing SELECT
INSERT INTO NewTable(FirstName, LastName, Total)
SELECT FirstName, LastName, 
FROM Person p
INNER JOIN Orders o
ON p.P_Id = o.P_Id
WHERE p.FirstName = 'Alistair'
Run Code Online (Sandbox Code Playgroud)

这样您就可以完全控制列类型.如果需要重新创建表,可以稍后删除该表.

  • 除了在MakeTable运行后更改数据类型之外,我认为这是*唯一的*方法. (3认同)