postgresql 处理空值

发布于 2024-11-02 20:35:06 字数 111 浏览 1 评论 0原文

我使用 postgresql 作为数据库。并且字段上的条件不为空。当用户将该字段保留为空白并输入其给出的空指针异常时,因为在 postgresql 中对于整数它不会接受接受“”。有关如何处理这种情况的任何想法

I am using postgresql for database. And the condition on the field is not null. When user keeps blank for that field and hit on enter its giving null pointer exception becuase in postgresql for integer it wont accept accept "".Any idea about how to handle this case

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

拥抱没勇气 2024-11-09 20:35:06

如果可以修改 INSERT 语句,则可以使用 COALESCE() 函数自动将 NULL 值替换为您指定的另一个值。

以下是当未设置 $status 变量时自动在状态字段中插入 0(零)的示例:

INSERT INTO foo (name, status) VALUES ($name, COALESCE($status, 0) );

COALESCE 函数可以接受任意数量的参数并返回它找到的第一个非 NULL 值。当您在确定默认值之前想要尝试“瀑布”值时,这会派上用场。例如:

COALESCE($status1, $status2, $status3, $status4, 0)

If you can modify the INSERT statement, you can use the COALESCE() function to automatically replace a NULL value with another value you specify.

Here is an example to automatically insert 0 (zero) in the status field, when the $status variable is not set:

INSERT INTO foo (name, status) VALUES ($name, COALESCE($status, 0) );

The COALESCE function can take any number of arguments and returns the first non-NULL value it finds. This comes in handy when you have a "waterfall" of values you want to try before settling on the default value. For example:

COALESCE($status1, $status2, $status3, $status4, 0)
无所的.畏惧 2024-11-09 20:35:06

由于您的字段不接受NULL,因此您应该使用实际的整数来设置它。

在客户端将空字符串替换为 0 (或其他默认值)。

Since your field does not accept NULL, you should set it with an actual integer.

Replace the empty string with a 0 (or other default value) on the client side.

雨巷深深 2024-11-09 20:35:06

使用 javascript 检查您的表单,如果文本框中出现“”,只需将 0 分配给该值即可。然后将该值作为整数值传递,仅此而已。

Check your form with javascript, and if is coming a "" from the textbox, just assign 0 to that value. Then pass that value as an Integer value and that's all.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文