Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL查询向下舍入到最接近的整数_Sql_Database_Ms Access - Fatal编程技术网

SQL查询向下舍入到最接近的整数

SQL查询向下舍入到最接近的整数,sql,database,ms-access,Sql,Database,Ms Access,我的Access查询中有一个字段,它直接从同一数据库中的表中提取。当我从表中提取值时,该值将向下舍入到最接近的整数。ie 2.999四舍五入为2。我不希望查询中的字段有任何舍入,我希望直接从表中获取数字。我尝试使用四舍五入([field],4),但仍然不起作用,将字段四舍五入到最接近的整数。我该如何解决这个问题?下面是我的SQL代码 SELECT t.Station_ID, t3.[Original_Cut_Height(m)] FROM [Installs] AS t3 LEFT JOIN

我的Access查询中有一个字段,它直接从同一数据库中的表中提取。当我从表中提取值时,该值将向下舍入到最接近的整数。ie 2.999四舍五入为2。我不希望查询中的字段有任何舍入,我希望直接从表中获取数字。我尝试使用四舍五入([field],4),但仍然不起作用,将字段四舍五入到最接近的整数。我该如何解决这个问题?下面是我的SQL代码

SELECT  t.Station_ID, t3.[Original_Cut_Height(m)]
FROM [Installs] AS t3 LEFT JOIN ON [Inputting Data] AS t on t.Station_ID = t3.Station_ID;
请试试这个

SELECT  t.Station_ID, CDbl (t3.[Original_Cut_Height(m)]) AS Original_Cut
FROM [Installs] AS t3 LEFT JOIN ON [Inputting Data] AS t on t.Station_ID = t3.Station_ID;

问题就在我的桌上。在表中,数字是基于IIF语句的,虽然我的表中的数字显示为十进制,但它是一个整数,四舍五入到最接近的整数。将
CDbl()
放在原始表中IIF语句的编号周围解决了这个问题

根据,当没有给出第二个参数时,函数将舍入到最接近的整数。@carmelle。查询中没有任何内容对值进行舍入。如果您看到“2”,则查看数据的应用程序正在将值转换为
2
,或者数据库正在存储
2
。下面的代码仍在向下舍入<代码>从[Installs]中选择t.Station\u ID,圆形(t3[原始切割高度(m)],4)作为t.Station\u ID=t3上的t3左连接[Inputing Data]作为t.Station\u ID=t3。Station\u ID@GordonLinoff好的,谢谢。如何检查该值是否转换为2或数据库是否将其存储为2?查询中的其他字段直接显示表中的值,所以我不明白为什么只有这个字段。@carmelle。我想你没必要问。如果您看到一个
2
,这可能就是数据库中的内容。您可以乘以1000,看看是否得到2000以外的结果。这不太有效,我得到的错误是“查询表达式“CAST(t3.[Original_Cut_Height(m)]AS FLOAT”中的语法错误(缺少运算符)”,很抱歉,这是access sql查询,然后我更新了。我想CDec()函数也可以运行查询,但它仍然显示向下舍入到最接近的整数的值。您是否改用了CDec()函数?此外,您以前是否有任何sql查询来获取数据?这可能是一个int/int问题,必须像int/float或float/int或类似的问题。