MYSQL中,要把所有数据表中的NULL替换成空字符串,怎么写?

MYSQL中,要把所有数据表中的NULL替换成空字符串,怎么写?,第1张

可以这样写SQL:

update tableName set colName='' where colName is null

前提是没有约束限制向表字段写入“空字符串

判断方法: if ISNULL(aBegBalRule) || LENGTH(trim(aBegBalRule))<1 THENELSEEND IFNULL值可能令人感到奇怪直到你习惯它。概念上,NULL意味着“没有值”或“未知值”,且它被看作与众不同的值。为了测试NULL,你不能使用算术比较 *** 作符例如=、<或!=。为了说明它,试试下列查询:mysql>SELECT 1 = NULL, 1 <>NULL, 1 <NULL, 1 >NULL+----------+-----------+----------+----------+| 1 = NULL | 1 <>NULL | 1 <NULL | 1 >NULL |+----------+-----------+----------+----------+| NULL | NULL | NULL | NULL |+----------+-----------+----------+----------+很显然你不能通过这些比较得到有意义的结果。相反使用IS NULL和IS NOT NULL *** 作符:mysql>SELECT 1 IS NULL, 1 IS NOT NULL+-----------+---------------+| 1 IS NULL | 1 IS NOT NULL |+-----------+---------------+| 0 | 1 |+-----------+---------------+请注意在MySQL中,0或NULL意味着假而其它值意味着真。布尔运算的默认真值是1。对NULL的特殊处理即是在前面的章节中,为了决定哪个动物不再是活着的,使用death IS NOT NULL而不使用death != NULL的原因。在GROUP BY中,两个NULL值视为相同。执行ORDER BY时,如果运行 ORDER BY ... ASC,则NULL值出现在最前面,若运行ORDER BY ... DESC,则NULL值出现在最后面。NULL *** 作的常见错误是不能在定义为NOT NULL的列内插入0或空字符串,但事实并非如此。在NULL表示"没有数值"的地方有数值。使用IS [NOT] NULL则可以很容易地进行测试,如下所示:mysql>SELECT 0 IS NULL, 0 IS NOT NULL, '' IS NULL, '' IS NOT NULL+-----------+---------------+------------+----------------+| 0 IS NULL | 0 IS NOT NULL | '' IS NULL | '' IS NOT NULL |+-----------+---------------+------------+----------------+| 0 | 1 | 0 | 1 |+-----------+---------------+------------+----------------+因此完全可以在定义为NOT NULL的列内插入0或空字符串,实际是NOT NULL。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6107980.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存