问题标签 [ifnull]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
177 浏览

mysql - MySQL:合并行并返回默认值

想象一下下表:

我需要运行哪个 SQL 语句才能得到这个:

  • 对于给定的 id 和给定的变体,获取此组合的名称。
  • 但是,如果名称为 NULL,则获取具有给定 id 但具有变体 1 的行的名称(变体 1 的名称永远不会为 NULL)。
  • 如果没有具有给定变体的行,则再次使用具有相同 ID 的变体为 1 的行。
  • 从不直接请求变体 1。

这就像一个后备机制。或者您可以将其视为变体 = 1 的行的覆盖值。

例子:

  • id = 1,变体 = 2:b
  • id = 1,变体 = 3:c
  • id = 2,变体 = 3:d
  • id = 3,变体 = 5:g

这可以用 SQL 实现吗?如果该机制应用于更多领域,它是否表现良好?

谢谢!

更新:

请注意,我希望这种机制不仅适用于名称字段。应该有更多的列应该具有相同的行为 - 但每一列都应该单独处理。

0 投票
2 回答
251 浏览

php - 错误处理不起作用 - 文件上传检查

我在一个页面上有一个多张图片上传表单(最多 3 张) - 但用户可以选择根本不上传 1 张或更多张图片。当 1 个或多个留空时处理上传的脚本给了我这个错误:

“警告:copy() [function.copy]: 文件名不能为空”....

如果/当字段为空时,我尝试使用下面的代码忽略复制请求,但如果文件上传存在但它不起作用,则执行复制。有人可以告诉我为什么这不起作用或者更恰当地说我需要如何以不同的方式对其进行编码吗?

形式

processor.php 文件中的 PHP

0 投票
1 回答
307 浏览

mysql - MySql Toad 如果现在行返回值

我正在使用mysql toad,我有一个空表,如果没有找到记录,我试图返回一个字符串值我尝试了下面提到的查询,但是没有一个有效,只返回一个空行。

询问

结果只是空字符串,列 stDate 的类型为 varchar。

0 投票
1 回答
1181 浏览

codeigniter - Codeigniter Active Record - IFNULL 和 COUNT 内的 WHERE

我有一个基本上模拟储物柜的应用程序。在每个储物柜内,我有 N 个架子。在每个架子里,我有 N 个盒子、N 个文件夹和 N 本书。其中一些对象是不可访问的(它们有一个称为 ACESSIBLE 的布尔属性)。

我想显示每个储物柜和按类型(书籍、文件夹和盒子)排序的对象总和。就像是:

RACK_ID:1
RACK_NUMBER:001
LOCKER_NUMBER:54
SUM_BOXES:10
SUM_FOLDERS:20
SUM_BOOKS:10

我的查询:

这很好用,但是计数会返回每个机架中的所有盒子、书籍和文件夹,可访问或不可访问。我想在每个计数上输入一个 WHERE 条件,该条件只返回可访问的对象(类似于 WHERE box.ACESSIBLE = 1)。我怎样才能做到这一点?

谢谢。

编辑:好的,所以我找到了解决方案:更改为:

0 投票
1 回答
7377 浏览

mysql - MySQL检查子查询是否返回NULL,然后替换值

我有 mysql 查询,如果子查询没有返回结果或空值,我需要替换 WHERE 子句中的值。

根据需要工作的价格查询

成功运行

当我如下修改此查询时,在 IN 子句中添加对子查询的 IFNULL 检查,它会引发错误

'SQL 错误 (1242): 子查询返回多于 1 行'

我尝试用 COALESCE 替换 IFNULL 仍然是相同的结果。我是否使用了错误的语法。

0 投票
1 回答
445 浏览

php - 使用 PHP MYSQL Prepared Statements 和 IFNULL() 返回所有记录 if value = ""

我正在尝试使用准备好的语句构建一个 MySQL 查询,如果它已设置为 NULL,它将忽略一个条件。例如,在下面,如果$a = ""$b = "10",我希望查询返回列 b 包含值 10 的所有记录并忽略 a 条件,因为目前,查询将返回所有“列 a”值为“ ”和“10”的“b列”值。

我应该用什么替换 '%%' 以返回所有内容,就好像没有设置标准一样?

编辑:在这里找到了一个不使用准备好的语句的答案,而是使用一组允许的字符串来阻止 SQL 注入。

多个下拉列表 动态查询 AJAX PHP MySQL

0 投票
1 回答
4290 浏览

sql - SQLite `ifnull()` vs `coalesce()` 性能

SQLite 网站

ifnull() 函数等效于有两个参数的 coalesce()。

那么,如果我有两个参数,哪个更快?

0 投票
1 回答
1117 浏览

mysql - mysql 全选 - 使用 ifnull 检查所有列是否为空

我想返回所有列,并且在任何有 NULL 的地方都可以说“嘿”。

但这不起作用

0 投票
3 回答
6334 浏览

mysql - 如果为空,则为 GROUP 结果值

我不能做这个查询:

桌子:

结果 :

我需要对所有 NULL 字段和名称为“ SELL ”的组求和。

0 投票
1 回答
220 浏览

mysql - SQL 按百分比获取相似的“匹配”结果

此表存储用户匹配之间的用户投票。总是有一个赢家,一个输家和选民。

我正在处理一个获取类似配置文件的查询。配置文件类似,当投票百分比(赢与输)为指定配置文件的 +/- 10% 时。

这是当前的结果:

mysql结果

它当前返回 NULL 行,它们不应该在那里。仍然需要优化(并且不能完全放在我的手指上)是:

  1. 只带来与用户 ABC 相似的用户
  2. 指定定义谁是相似用户的条件,例如用户 id = 6(其中相似用户与用户 id 6 的百分比差异为 +/- 10%)

任何帮助将不胜感激。谢谢!