null类型的字段加1

很高兴今天学到了一种新方法。

数据库中字段类型为Long ,值可能为null,也可能是某一数。因此对该字段数值进行 +1操作时需要判断该值是null还是数值。

同时实现更新操作。具体如下:

update content set hits =
          case when hits is null
          then 1
          else hits+1
          end
          where id= 123456

还有另外一种方式,先判断值,若为null则另其为0,否则是本身数组,对该数值进行+1操作。

update content set hits =

(
       select case when hits is null

then 0

else hits

end

+ 1

from content

where id = 123456
) where id = 123456

这种方式去掉select关键字效果也是相同的:

update content set hits =

case when hits is null

then 0

else hits

end

+ 1
           where id = 123456

这样就实现了对null字段照样+1.

时间: 2024-11-08 09:51:37

null类型的字段加1的相关文章

mysql数据的类型以及字段的约束问题【重点】

1.确保mysql字段[包括库名.表名]的正确,必要使用反引号 2.校对集指的是字符之间的关系[对字段值的字符处理]校对集依赖于字符集校对集:在某个字符集下面,这些字符的排序关系称之为校对集[对字段进行某种排序处理] 在phpmyadmin中设置库的编码,使用的ci结尾的编码就是使用了校对集[默认是使用的,但是其实校对集基本用不上] _bin:二进制编码层面直接比较_ci:忽略大小写_cs:不忽略大小写[http://www.jb51.net/article/30865.htm] 3.整型介绍s

hive原生和复合类型的数据加载和使用

原生类型 原生类型包括TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,BINARY (Hive 0.8.0以上才可用),TIMESTAMP (Hive 0.8.0以上才可用),这些数据加载很容易,只要设置好列分隔符,按照列分隔符输出到文件就可以了. 假设有这么一张用户登陆表 CREATE TABLE login ( uid BIGINT, ip STRING ) ROW FORMAT DELIMITED FIELDS TERMINA

java 操作数据库clob类型大字段

java 操作数据库clob类型大字段,处理工具类如下: package org.shefron.utils; import java.io.StringReader; import java.sql.Clob; import java.sql.PreparedStatement; import java.sql.SQLException; public class ClobUtils { public final static String getValueFromClob(Clob clob

关于springmvc怎么自动把前台string类型日期字段转换成date类型

关于springmvc怎么把前台string类型日期字段转换成date类型字段,小狼想了好久,阅读spring源代码,发现一个很好玩的注解@DateTimeFormat(pattern="yyyy-MM-dd") 对,就是他,小狼是这么使用的 @Controller public class Login { @RequestMapping("/login") public String login(String username,@DateTimeFormat(pa

Oracle数据库里面查询字符串类型的字段不为空和为空的SQL语句:

一:查询字符串类型的字段的值不为空的SQL: [sql] view plaincopy select * from TB_CMS_FLGTINFO_A t where (t.fsta is not null and t.fsta <>' '); 主:上面的TB_CMS_FLGTINFO_A是表名,fsta是表中的字段 二:查询字符串类型的字段的值为空的SQL: [sql] view plaincopy select * from TB_CMS_FLGTINFO_A t where (t.fst

Oracle、Mysql、SqlServer创建表和给表和字段加注释

一.Oracle --创建表 create table test ( id varchar2(200) primary key not null, sort number, name varchar(200) ) --字段加注释 comment on column test.id is 'id'; comment on column test.sort is '序号'; --表加注释 comment on table test is '测试表'  二.Mysql --创建表 create tab

java中的null类型---有关null的9件事

摘自 https://blog.csdn.net/qq_25077777/article/details/80174763 今天听到一个问题,java中的null类型,null竟然是一种类型 java语言中有两种类型,一种是基本类型,还有一种是引用类型.还有一个特殊的null类型即表达式null的类型,它没有名字. 因为null类型没有名字,所以不可能声明为null类型的变量或者转换为null类型. null引用是null类型表达式唯一可能的值. null引用可以转换为任意引用类型. 实际上,程

js中的null类型

null类型是第二个只有一个值的类型,这个的特殊值是null,从逻辑角度看,null值表示一个空对象指针,而这也正是typeof 检测null值时会返回object的原因 var car = null; alert(typeof car);//弹出object 如果定义的变量将来用于保存对象,那么最好将该变量初始化为null而不是其他值.这样一来,只要检查null值就可以知道相应的变量是否已经保存了一个对象的引用,如下面的例子 if(car != null){ alert(2);//对car 对

crm2011创建Lookup类型的字段

在crm2011里面,创建lookup类型的字段不能直接创建,需要通过创建关系来创建,下面给出一个事例: using System; using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Messages; using Microsoft.Xrm.Sdk.Metadata; using Microsoft.Crm.Sdk.Messages; /// <summary> /// 创建Lookup字段 /// </summary> publi