【发布时间】:2020-07-06 03:20:20
【问题描述】:
我有一个查询,如果数字介于 2 个值之间,则必须设置一个值,但输出不正确,我认为是因为该列是一个字符串。有什么办法可以做到,即使它是字符串?
(在输出中,我的值为 5 女巫不行)。
所有不正确的值都是整数。
SET lkp_age_category_id = 7
WHERE
age BETWEEN '26' and '35.99';
【问题讨论】:
-
通常,年龄不是数据库中的整数(或字符串)值,而是日期字段。您应该能够将
age转换为整数,但我不确定 PGSQL 中的语法。您发布的查询是 Laravel Eloquent 代码吗?还是您在这里运行原始查询? -
这是一个原始查询,如果可能的话,目标是在不更改其类型的情况下进行此询问。我对多个类别使用了这种类型的查询,在输出时,我有一些不属于正确类别的整数值,我认为这是因为我有年龄作为字符串。
-
强制转换是一种临时的类型更改,像
SET lkp_age_category_id = 7 WHERE CAST(age AS INTEGER) BETWEEN 26 AND 35.99;这样的东西可以让您的查询将age列识别为整数并正确处理两个数字之间的问题。 -
酷,工作,但作为一个数字。 (整数,浮点数,数据,不)。谢谢!
-
我没有看到我的评论的编辑按钮。所以。不是数字,“NUMERIC”是正确的类型。
标签: laravel postgresql