草庐IT

null_unspecified

全部标签

sql - 如何使 MySQL MAX() 将 NULL 视为最小可能值?

我有一个看起来有点像这样的查询:SELECTweekEnd,MAX(timeMonday)FROMtimesheetGROUPBYweekEndtimeMonday的有效值为:null、-1、0、1-24。目前,MAX()将这些值的优先级按null、-1、0、1-24的顺序排列,但我真正想要的是-1、null、0、1-24,因此null被认为更高比-1。我知道MAX不能做到这一点,那么实现它的最简单方法是什么? 最佳答案 SELECTweekEnd,MAX(coalesce(timeMonday,-.5))FROMtimesheet

sql - 在 MySQL 中使用 NULL

我的数据库中的数据来自外部源,在没有数据传递的地方,我在那些地方保留了NULL。谁能告诉我使用NULL表示空值是否有任何含义?我是否应该遵循一些其他约定,例如'data_not_available'?还是类似的东西?谁能推荐一下? 最佳答案 我一直使用NULL。我看到有人说NULL是一种hack,永远不应该被投入主流使用,现在它已经失控了,但我想不出更好的方法来将某些东西视为“没有值(value)”。毕竟,您如何才能将一个数字表示为没有值呢?0是一个值。-1是一个值。-9999999是一个值。外键也依赖于NULL值来表示没有相关记录

php - 使用 MySqli 向 MySql 记录插入 NULL 值

我的页面使用ajax数据发送到php脚本。脚本获取的变量之一是:$product_disc现在,我在脚本中所做的一个小测试清楚地表明$product_disc为空。测试:if($product_disc==null){$test="null";}else{$test="notnull";}我让我的代码将$test返回给ajax调用过程:$return_array['success']=array('test'=>$test);并且使用Firebug我看到ajax响应有:"test":"null"所以我得出结论$product_disc是有值(value)的:null现在,在我的脚本中,

php - 如何使用 PHP/MySQLi 将 NULL 放入 MySQL 整数列中?

我通过URL将值传递到PHP页面,并在MySQLi的查询中使用它们。问题是对于整数列,空字符串被转换为零,而实际上它需要为NULL。如何使用PHP/MySQLi从URL中传递的参数将NULL放入整数列?更新:这是我如何使用传入参数和准备好的语句执行插入的示例。我需要在数据库上为NULL的是$specialtyType。functionInsertItem($itemID,$ownerID,$specialtyType){$this->insertItemStmt->bind_param("ssi",$itemID,$ownerID,$specialtyType);$this->inse

mysql - SQL 如果为 NULL 则插入

是否有纯SQL方法来执行此操作?我有一张表apples:id,price,还有一张apple_info:apple_id,color对于apples中的每一行,我想在apple_info中添加相应的行(如果它尚不存在)。找不到这方面的任何例子。 最佳答案 试试这个:insertintoapple_info(apple_id,color)selecta.id,'some_color'fromapplesaleftouterjoinapple_infoaion(a.id=ai.apple_id)whereai.apple_idisnul

php - MySQL/PHP 计算非 NULL 的列数?

我正在从MySQL数据库中选择一些数据库列。我想计算从非NULL的特定集合返回的MySQL行数。例如……SELECTp.wavURL1,p.wavURL2,p.wavURL3,p.wavURL4,etc.我可以在PHP中计算这些不是NULL的数量吗? 最佳答案 如果我正确理解你的问题,这应该可以满足你的要求:SELECTCOUNT(COALESCE(col1,col2,...,col16))AScntFROMyourtable更多详细信息请参阅MySQL手册:COUNT-返回由SELECT语句检索的行中expr的非NULL值的计数。

Python MySQL插入NULL(None)值报错

我正在尝试使用python脚本将NULL值插入到MySQLdbint字段中。NOTNULL在场上是关闭的,所以不是那样。我已经手动将NULL值插入到数据库中并且工作正常,如果我将文字值放在None的位置,我的代码也可以正常工作。我看过几个人的示例,说明如何执行此操作,据我所知,语法没有任何错误。代码:length2=Nonecursor.execute("INSERTINTOtableName(Length)VALUES(%s)",length2)错误:Error1064:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespon

mysql - 如果其中一个查询返回 null,如何防止 MySql Cross Join Query 返回零结果

我使用此查询在mysql事件表中获取下一个和上一个事件的ID:SELECTe.idAScurrent,prev.idASprevious,next.idASnextFROMeventseCROSSJOIN(SELECTidFROMeventsWHEREdate'{$result['date']}'ORDERBYdateLIMIT1)nextWHEREe.date='{$result['date']}'这个查询工作正常。假设表格看起来像这样:ID|EVENT_NAME|DATE------------------------------1|testevent1|2012-01-012|t

mysql - 运行EXPLAIN时,如果key的字段值不为null,Extra为空,是否使用了key?

在没有索引的情况下运行此EXPLAIN查询时EXPLAINSELECTexec_date,100*SUM(CASEWHENcached='no'THEN1ELSE0END)/SUM(1)cached_no,100*SUM(CASEWHENcached!='no'THEN1ELSE0END)/SUM(1)cached_yesFROMrequestsGROUPBYexec_date这是输出idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra1SIMPLErequestsALLNULLNULLNULLNULL478619Using

mysql - 如何获取为Null的表的列名?

考虑下表--------------------------------ID|ColA|ColB|ColC--------------------------------1|ABC||2||XYZ|3|PQR||4|MNO|PQR|我需要获取ID=1的表的第一个空闲列。我该怎么做例如:如果ID=1,下一个空闲列是ColB如果ID=2,下一个空闲列是ColA如果ID=3,下一个空闲列是ColB如果ID=4,下一个空闲列是ColC 最佳答案 如果你想要列的名称,你可以这样做:SQL>selectid,cola,colb,colc,2co