我知道这可能是一个简单的问题,但对于我的生活,我无法让它发挥作用。
我有以下查询:
SELECT
[1_Data_Set].EAN_CODE,
[1_Data_Set].CPFUSER_CONSUMER_UNIT_DESCRIPTION,
[1_Data_Set].CASE_WIDTH,
[1_Data_Set].CASE_HEIGHT,
[1_Data_Set].CASE_LENGTH,
[1_Data_Set].CPFUSER_CONSUMER_UNIT_INTRODUCED_DATE,
[1_Data_Set].WAREHOUSED_IND INTO DEFAULTS
FROM 1_Data_Set
WHERE
([1_Data_Set].CASE_WIDTH =[1_Data_Set].CASE_HEIGHT
AND
[1_Data_Set].CASE_HEIGHT = [1_Data_Set].CASE_LENGTH
AND
[1_Data_Set].CASE_LENGTH = [1_Data_Set].CASE_WIDTH);
我想返回宽度,长度和高度都匹配的值(可能比我上面输入的更合乎逻辑的方式)
和
只有整数,我不能使用INT()命令来显示整数,我只想重新编号整数
目前正在返回示例:
EAN Height Width Length
58554 10 10 10
85965 11.1 11.1 11.1
必需:
EAN Height Width Length
58554 10 10 10
答案 0 :(得分:2)
也许这就是你想要的:
select *
from l_data_set
where height = round(height, 0) and width = round(width, 0) and
length = round(length, 0) and
height = width and width = length;
由于存储浮点数的方式, round()
比int
更安全。
答案 1 :(得分:1)
检查基数是否等于基数的INT
SELECT *
FROM 1_Data_Set
WHERE CASE_WIDTH = INT(CASE_WIDTH) AND
CASE_WIDTH = CASE_HEIGHT AND
CASE_HEIGHT = CASE_LENGTH
在我发布之前 - 与Jason Boyds的答案基本相同。即只是先检查数字是否为整数。
答案 2 :(得分:0)
如果您在Access中执行查询,那么我认为这将满足您的需求:
SELECT
[1_Data_Set].EAN_CODE,
[1_Data_Set].CPFUSER_CONSUMER_UNIT_DESCRIPTION,
[1_Data_Set].CASE_WIDTH,
[1_Data_Set].CASE_HEIGHT,
[1_Data_Set].CASE_LENGTH,
[1_Data_Set].CPFUSER_CONSUMER_UNIT_INTRODUCED_DATE,
[1_Data_Set].WAREHOUSED_IND INTO DEFAULTS
FROM 1_Data_Set
WHERE
INT(CASE_WIDTH) - CASE_WIDTH = 0
AND [1_Data_Set].CASE_WIDTH =[1_Data_Set].CASE_HEIGHT
AND [1_Data_Set].CASE_HEIGHT = [1_Data_Set].CASE_LENGTH
第三次平等检查 - [1_Data_Set].CASE_LENGTH = [1_Data_Set].CASE_WIDTH
- 由于平等的传递属性而没有必要。
如果您在SQL端执行查询,那么您可以执行CASE_WIDTH % 1 = 0
而不是INT(CASE_WIDTH) - CASE_WIDTH = 0