草庐IT

Null-text

全部标签

mysql - 使用 Rose::DB::Object 和 MySQL 设置 NULL 日期时间

我在这里可能是错的,但看起来这里存在相互冲突的标准。MySQL将存储的日期时间“0000-00-0000:00:00”视为等同于NULL。(更新-似乎只有日期时间定义为NOTNULL)但Rose::DB::Object对MySQLDATETIME字段使用DateTime,并且尝试从“0000-00-00”设置空DATETIME会在DateTime模块中引发异常。即,我无法创建具有0年、0月、0日的DateTime对象,因为这会在DateTime模块中引发异常。我检查了Rose::DB::Object::Metadata::Column::Datetime,但在创建条目或检索时看不到显式

sql - TEXT 字段的实际大小 (MySQL)

一个TEXT字段,无论是空的、少的字符还是满的,都会使用数据库中相同的存储空间吗? 最佳答案 手册页DataTypeStorageRequirements更详细地描述了MyISAM引擎的每种数据类型的存储要求。DataTypeStorageRequiredCHAR(M)M×w*bytes,0*w是字符集中最大长度字符所需的字节数所以总而言之,在TEXT列中存储字符串所需的存储字节数取决于字符串的长度。这与CHAR(100)不同,后者无论存储的字符串长度如何,都需要相同的存储量。 关于sq

mysql - NULL 值不包含在查询结果中

考虑下表:createtableinttest(someintINT(10)NULLDEFAULTNULL);当我插入一些随机值时insertintointtest(someint)values(1),(2),(3),(1),(2),(NULL);并执行查询select*frominttestwheresomeint!=1;MySQL返回2,3,2但不返回NULL值。这个对吗?我应该用ORsomeintISNULL扩展我的查询还是我的MySQL安装中的错误? 最佳答案 正确。没有什么等于NULL-包括NULL。或者更正式地说,评估N

MySQL:按两列排序,最后是 NULL?

我知道在SO上有类似的问题,但不幸的是我还没有找到我的答案,所以在这里问。我的结果表结构如下所示:iditem_idpricegroup-------------------------------13472NULL22343001348721501411091005558230006144150271384NULL186271002price列可以有NULL,group列可以有空结果。该表可按价格排序。我需要的是:按两列排序结果集-price和group具有相同price的结果必须根据它们的顺序排序分组在前(升序),价格相同但没有分组的结果在其后。无论price排序顺序如何,NULL

MYSQL 在查询中包含 NULL

$sql="SELECT*FROMordersWHEREorder_number>=$lowerANDorder_number我最近迁移了服务器,在以前的服务器上,此语句包含$upper和$lower之间的所有记录。新服务器排除了$upper和$lower之间的NULL记录。不完整的订单连续保存,没有order_number(s);和一个NULL值。我假设在MYSQL.conf文件中有一个设置。或者我正在使用不再支持在查询中自动包含NULL值的不同版本的MYSQL。 最佳答案 我不知道为什么旧服务器包含空值,因为这会违反关于如何与空

MySQL Join 表,如果不满足条件仍然返回 null

我有这个MySQL查询SELECTperms.permission_id,perms.long_title,perms.category,gperms.valueFROMacl_permissionsASpermsJOINacl_group_permissionsASgpermsON(perms.permission_id=gperms.permission_idANDgperms.group_id=1)WHEREperms.typeIN('adm','cs')ANDperms.simple_titleNOTIN('adm_','cs_')ORDERBYperms.long_title

Mysql存储过程OUT变量返回NULL

我在我的应用程序中使用以下示例存储过程:DELIMITER$$DROPPROCEDUREIFEXISTS`test`.`sp_item`$$CREATEDEFINER=`root`@`localhost`PROCEDURE`sp_item`(INnameVARCHAR(255),OUTitem_idINT(11))BEGINDECLAREitem_idINTDEFAULT0;STARTTRANSACTION;INSERTINTO`item`(`name`)VALUES(name);SET@item_id:=LAST_INSERT_ID();COMMIT;END$$DELIMITER;当

mysql - 如何从列为NULL的MySQL表中选择数据

我希望下面的代码向我显示表中交换列为空但结果集显示0行的所有记录。知道为什么吗?SELECT*FROMpubcoWHEREexchangeISNULL; 最佳答案 也许你已经将''解释为NULL这不一样,但是试试这个SELECT*FROMpubcoWHEREexchangeISNULLORexchange=''但如果仍然没有得到值,可能它上面有空格,所以你应该TRIM它,SELECT*FROMpubcoWHEREexchangeISNULLORTRIM(exchange)='' 关于my

php - mysqli 预处理语句 - 不要更新 NULL 值

我有一个准备好的语句来更新几个字段。我从公式中获取数据,但并非所有字段都是必需的。所以有可能有些字段没有设置。我将它们默认设置为NULL。现在我不想用NULL覆盖旧值。如果它为NULL,我如何告诉MySql不要更新该值?$insert_stmt=$mysqli->prepare("UPDATEmembersSETusername=?,email=?,$password=?,$random_salt=?,level=?,customerID=?,name=?,surname=?,phone=?,quantities=?WHEREid=?");$insert_stmt->bind_para

mysql - 选择列的子字符串返回 null 和空

我在使用mysql的substr函数时遇到问题。我的查询是:SELECTdistinct(substr(col1,0,10))fromtable;返回的结果是NULL和一个空行。我是否错误地使用了substr,或者我不能使用distinct或列名?谢谢 最佳答案 首先,字符串第一个字符的位置是1,不是0;这应该修复它:SELECTdistinct(substr(col1,1,10))FROM`table`其次,您的表格至少包含一行,其中col1为NULL。对于这些行,SUBSTR的结果也是NULL。