草庐IT

Null-text

全部标签

mysql - 如果任何值为 NULL,GROUP_CONCAT 返回 NULL

如果任何列为NULL,我如何让GROUPT_CONCAT返回NULL?这是一个测试表:CREATETABLEgc(aINT(11)NOTNULL,bVARCHAR(1)DEFAULTNULL);INSERTINTOgc(a,b)VALUES(1,'a'),(1,'b'),(2,'c'),(2,NULL),(3,'e');我的查询:SELECTa,GROUP_CONCAT(b)FROMgcGROUPBYa;这是我得到的:a|GROUP_CONCAT(b)--+----------------1|a,b2|c3|e这就是我想要的:a|GROUP_CONCAT(b)--+----------

java - HQL 与 Null 检查一对一关系

我在Hibernate中有以下一对一关系(可能为空):我正在尝试使用HQL选择所有具有非空详细信息的实体:fromEntityewheree.detailsisnotnull但这会返回所有实体,无论details是否为null。那么什么是正确的HQL? 最佳答案 好的,我找到了解决方案:selectefromEntityejoine.detailsdwheredisnotnull 关于java-HQL与Null检查一对一关系,我们在StackOverflow上找到一个类似的问题:

如果一列没有值,MySQL 返回最大值或 null

我尝试获取mysql选择的最大值,但如果有一行不包含时间戳,则希望它为null/empty/0。表格统计(简单):IDCLIENTORDER_DATECANCEL_DATE1512135672002512135672003612106296001281736799461210629600128173679957120104280012483863996712010428007812054492001271282399我现在正在寻找最低订购日期(没问题,因为它永远不会为空),并且最长取消日期。如果客户已经取消订阅,则填写取消日期,但如果他仍然活跃,则根本没有取消日期。查询:SELECTI

MySQL - = ""和 != ""关于 null 的不同行为

这可能是个愚蠢的问题,但null似乎既不等于也不不等于任何空字符串""。我有一个包含以下值的表:idfield1field2field31abc2nullbc3bc4abc我的查询select*fromtablewherefield1=""不返回field1值为空的第2行。这是绝对有道理的,因为null不等于空字符串。但是,select*fromtablewherefield1!=""也不返回第2行。有人能解释一下这个的历史渊源吗?是否因为值null意味着我们不知道该值,因此不知道field1是否等于或不等于第2行的空字符串? 最佳答案

mysql - Doctrine 2 : Use default 0 values instead of null for relation

对于Doctrine2的关系(多对一、一对一)是否可以使用值0而不是null?现在我有很多NOTNULL列,但我可能不会更改为空值。将MySQL中的默认值更改为0本身并不是解决方案,因为Doctrine总是设置用于插入/更新行的列。 最佳答案 不,这是不可能的。NULL在SQL中有非常特殊的含义。它代表“没有值(value)”,你可以验证你的逻辑即使在SQL级别也不会工作:CREATETABLEfoo(`id`INT(11)PRIMARYKEYAUTO_INCREMENT,`bar_id`INT(11));CREATETABLE`b

mysql - 如何在 MySQL 中使用 SELECT 删除填充的 NULL 字节

如果这样插入数据,insertinto`t`(`date`,`data`)values(now(),lpad('Hello',4096,CHAR(0x00)));你如何检索它从data列中删除NULL字符。事实上,我正在寻找与LPAD功能相反的功能。表定义是,createtable`t`(`id`intauto_increment,`date`datetime,`data`blob,primarykey(`id`));普遍的问题是,如何从字符串的开头或结尾删除特定字符? 最佳答案 使用trim(),有3种口味:selecttrim(

mysql - 将固定宽度、以空格分隔的 .text 文件加载到 mySQL 中

我有一个.txt文件,里面有一堆格式化的数据,如下所示:...175175.1895128.461790890.89795829.161875975.98880914.2582137704.372162195.5382167267.272375275.28102375408.742763997.33142764264.262804437.77152804504.502881981.98162882048.722887921.25162993093.092998031.36193004104.103008041.37...我试图将每一行作为一个条目加载到我的数据库中的一个表中,其中每一列

mysql - 返回一行中具有 NULL 或 0 值的列

我有一个包含10个字段的Table。每个field或column都包含Integer值。现在我只需要返回结果集中有Null或0的字段。 最佳答案 这对我有用。例如:代替:wherecolumn_nameisnullorcolumn_name=0它会是:whereCOALESCE(column_name,0)=0PostedbyJonGabrielsononDecember18,2002Thefunction'COALESCE'cansimplifyworkingwithnullvalues.forexample,totreatnul

sql - 带有 TEXT 列的 MySQL 表

我一直在处理数据库,我必须处理文本字段。现在,我相信我已经看到一些地方提到最好将TEXT列与表的其余部分隔离(将其放在自己的表中)。但是,现在我在任何地方都找不到这个引用,因为它是很久以前的事了,我开始认为我可能误解了这个信息。一些研究表明this,表明Separatetext/blobsfrommetadata,don'tputtext/blobsinresultsifyoudon'tneedthem.但是,我不熟悉这里使用的“元数据”的定义。所以我想知道将TEXT列放在它自己的表中是否有任何相关优势。将它与其他字段一起使用有哪些潜在问题?以及将其保存在单独的表中的潜在问题?这个表(

Mysql LEFT JOIN 和 SUM 并显示 0 而不是 NULL

我有第一个表名为“orders”,第二个表名为“details”orders:order_id123details:id|order_id|qty1|1|22|1|3如何显示如下?order_id|total1|52|03|0我试过这个查询但没有成功:SELECT*,SUM(qty)AStotalFROMorderoLEFTJOINdetailsdONo.order_id=d.order_id 最佳答案 试试这个:SELECTo.order_id,IFNULL(SUM(d.qty),0)AStotalFROMordersoLEFTJ