我在Access中有一个完整的过程,其中有许多查询是在支持BigInt之前编写的.我必须导入一个表,因为它包含一个BigInt字段.现在我使用的是O365,我可以使用BigInt,但我不想更改我所有的表和查询来支持BigInt.相反,我将创建新的查询,它可以将导入的BigInt字段的文本版本与表中的实际BigInt进行比较,因为我可以链接到它,以便可以使用查询更新链接表.该字段最多有17位数字.

I've tried Val(textkey), but that produces scientific notation. When formated, only shows the left 15 digits and trailing 00.
Cdbl() and Csng() do the same. CLNG() gives me #Num! errors. Cdec() gives me an Arguments error).

推荐答案

使用Decimal或转换为BigInt:

LongTextNumber = "1234567890123456"

? VBA.CDbl(LongTextNumber)
 1.23456789012346E+15 

? VBA.CLngLng(LongTextNumber)
 1234567890123456 

? VBA.CDec(LongTextNumber)
 1234567890123456 

要在查询中转换为Decimal,请使用以下包装:

Public Function CDec2(ByVal Value As Variant) As Variant

    CDec2 = CDec(Value)

End Function

Sql相关问答推荐

查找表中特定值的上次更新日期

返回找到的最小和最大row_number()spark SQL

有没有办法在Postgres中存储带有时区的时间戳,而不将其转换为UTC

数组列的postgres更新查询

每小时 Select 1行

了解多个分组集

SQL到Snowflake-转换嵌套的SELECT(值

在SQL中将项分配给容器

基于开始/结束日期重叠的BigQuery突发行

更改重复值的情况

在 Postgres 中将结果按几十年划分

在 PostgreSQL 中使用 ltree 列进行累积

如何在android房间中进行多个加入

具有多个表 JOINS 的 STRING_AGG 的替代方法 (SQL Server 2016)

PostgreSQL:从多个字段收集特定指标的最后一个条目

如何在sparksql查询中使用日期值?

标量子查询中的窗口函数不起作用

Oracle函数中无法动态迭代创建的SYS_REFCURSOR

带聚合函数的 percentile_cont

查询以查找今天和昨天的数据之间的差异以及伪列