精华内容
下载资源
问答
  • Mysql将某个字段修改为null(从不允许为空not null修改为 null

    Mysql将某个字段修改为null(从不允许为空not null修改为 null)

    mysql增加多个字段

    ALTER TABLE
      test_table_name
    ADD
      actual_customer_id VARCHAR (20) DEFAULT NULL COMMENT 'actual customer id/实付款会员id',
    ADD
      actual_payer_name VARCHAR (255) DEFAULT NULL COMMENT 'actual payer name/实付款人姓名'; 

    注意增加的字段的不要用单引号引起来,例如

    ALTER TABLE
      test_table_name
    ADD
      'actual_customer_id' VARCHAR (20) DEFAULT NULL COMMENT 'actual customer id/实付款会员id',
    ADD
      'actual_payer_name' VARCHAR (255) DEFAULT NULL COMMENT 'actual payer name/实付款人姓名'; 

    上面sql语句就是错误的

    展开全文
  • java判断字符串不为空和null的方法

    万次阅读 多人点赞 2018-03-22 14:32:37
    首先,区分空串和null串 1、 空串”“是长度为0的字符串,它有自己的串长度(0)和内容(空),判断一个字符串为空的方法: if (str.length() == 0); 或 if (str.equals("")); 2、 ...

    首先,区分空串和null串
    1、 空串""是长度为0的字符串,它有自己的串长度(0)和内容(空),判断一个字符串为空的方法:

      if (str.length() == 0);
    

    if (str.equals(""));
    

    2、 null串表示目前没有任何对象与该变量关联,检查一个字符串是否为null的方法:

     if (str == null);
    

    3、检查一个字符串既不是null串也不是空串,多用以下方法判断:

    if (str != null && str.length() != 0);
    

    注意:要先检查str不为null,否则在一个null值上调length()方法会出现错误。

    4、使用StringUtils工具类,判断不为null也不是空,如下:

    if (StringUtils.isNotBlank(str));
    

    注意:StringUtils是org.apache.commons.lang3下的工具类

    展开全文
  • 在创建表的时候尽量把字段的默认值设置成 not null,除非你想存储null;因为在mysql中为null的的字段不会走索引,做统计的时候也不会被统计进去,如果想统计进去必须做特定的处理,这样做比较复杂。可以给字段的值...

    在创建表的时候尽量把字段的默认值设置成 not null,除非你想存储null;字符串类型可以设置成' ',数字类型的可以设置成0,或者是其他的特殊值,作为字段的默认值。

    因为在mysql中为null的的字段,做统计的时候也不会被统计进去,如果想统计进去必须做特定的处理,这样做比较复杂。

    mysql中为null的的字段其实是走索引的。但is nullis not null是不走索引的。

    对于 MyISAM存储引擎:

    MySQL难以优化引用了可空列的查询,它会使索引、索引统计和值更加复杂。
    可空列需要更多的储存空间,还需要在MySQL内部进行特殊处理。当可空列被索引的时候,
    每条记录都需要一个额外的字节,还可能导致 MyISAM 中固定大小的索引(例如一个整数列上的索引)变成可变大小的索引。 

    创建表

    CREATE TABLE test_null (
     `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(32) DEFAULT '' ,
      `name_null` varchar(32) DEFAULT NULL,
      `name_empty` varchar(32)  DEFAULT '',
      PRIMARY KEY (`id`)
    )ENGINE=InnoDB DEFAULT CHARSET=utf8;

    (1)在进行count()统计某列的记录数的时候(null不会统计进来)或者查询不是某个值的时候(null值不会查出来),但是空值是会进行统计到其中的。当我们做一些统计表的时候如果统计的数据老是不对的时候,需要考虑值为null的字段

     

      如果我想查找name_null不是张三的个数,如果where子句直接是name_null <> '张三',并没有把name_null为null的情况统计进来。sql如下:

     

    以上的统计数据不是我们想要的结果这个时候需要做特殊的处理:sql如下:先在where子句中控制需要的数据,然后用count(*)做统计,所以有的时候可以用count(地段)做统计数量,有的时候不可以

    大家可以试试统计name_empty默认值给空的字段

    (2)MySQL中的NULL其实是占用空间的,空值('')是不占用空间的

    (3)判断NULL 用IS NULL 或者 is not null,在sql语句中可以用IFNULL(expr1,expr2)函数,如果想判断空字符用=''或者 <>、!=''来进行处理。

     

     

     

     

     

     

    展开全文
  • spring 注解验证@NotNull等使用方法

    万次阅读 多人点赞 2018-05-04 17:45:40
    常用标签@Null 被注释的元素必须为null @NotNull 被注释的元素不能为null @AssertTrue 被注释的元素必须为true @AssertFalse 被注释的元素必须为false @Min(value) 被注释的元素必须是一个数字,其值必须大于等于...

    点击链接加入群聊【java菜鸟学习】:https://jq.qq.com/?_wv=1027&k=5afU7nS
    群号:124569404
    常用标签

    @Null  被注释的元素必须为null
    @NotNull  被注释的元素不能为null
    @AssertTrue  被注释的元素必须为true
    @AssertFalse  被注释的元素必须为false
    @Min(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值
    @Max(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值
    @DecimalMin(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值
    @DecimalMax(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值
    @Size(max,min)  被注释的元素的大小必须在指定的范围内。
    @Digits(integer,fraction)  被注释的元素必须是一个数字,其值必须在可接受的范围内
    @Past  被注释的元素必须是一个过去的日期
    @Future  被注释的元素必须是一个将来的日期
    @Pattern(value) 被注释的元素必须符合指定的正则表达式。
    @Email 被注释的元素必须是电子邮件地址
    @Length 被注释的字符串的大小必须在指定的范围内
    @NotEmpty  被注释的字符串必须非空
    @Range  被注释的元素必须在合适的范围内
    

    example :
    vo 页面传过来的数据进行校验
    inferface : 只是作为标记一个组别 可以在vo验证的某个字段上面加入多个组别,这样没有加入的组别就不会验证这个字段
    controller: 需要 加入 @Validated (GroupInterface1.class) //GroupInterface1.class是定义的分组 GroupInterface2.class 需要校验的字段是不会验证的

    VO:

    public class User implements Serializable {
        /**
         * 主键
         */
        @NotNull(message = "primary is not null",groups = {GroupInterface1.class})
    	private Long id;
    	
    	@Pattern(regexp = "[0123456789]",groups = {GroupInterface1.class,GroupInterface2.class},message = "hava a error Date")
    	private Long maxDiscountAmount;
    	
    
    	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    	private Date createTime;
    
    	@Future(message = "expireTime is not less than now",groups = {GroupInterface1.class,GroupInterface2.class})
    	@NotNull(message = "expireTime is not null",groups = {GroupInterface1.class,GroupInterface2.class})
    	private Date expireTime;
    
    }
    
    

    另外一个例子:

    import java.util.Date;
    
    import javax.validation.constraints.DecimalMax;
    import javax.validation.constraints.DecimalMin;
    import javax.validation.constraints.Email;
    import javax.validation.constraints.Future;
    import javax.validation.constraints.Max;
    import javax.validation.constraints.Min;
    import javax.validation.constraints.NotNull;
    import javax.validation.constraints.Size;
    
    import org.hibernate.validator.constraints.Range;
    import org.springframework.format.annotation.DateTimeFormat;
    
    /**** imports ****/
    public class ValidatorPojo {
    
    	// 非空判断
    	@NotNull(message = "id不能为空")
    	private Long id;
    
    	@Future(message = "需要一个将来日期") // 只能是将来的日期
    	// @Past //只能去过去的日期
    	@DateTimeFormat(pattern = "yyyy-MM-dd") // 日期格式化转换
    	@NotNull // 不能为空
    	private Date date;
    
    	@NotNull // 不能为空
    	@DecimalMin(value = "0.1") // 最小值0.1元
    	@DecimalMax(value = "10000.00") // 最大值10000元
    	private Double doubleValue = null;
    
    	@Min(value = 1, message = "最小值为1") // 最小值为1
    	@Max(value = 88, message = "最大值为88") // 最大值88
    	@NotNull // 不能为空
    	private Integer integer;
    
    	@Range(min = 1, max = 888, message = "范围为1至888") // 限定范围
    	private Long range;
    
    	// 邮箱验证
    	@Email(message = "邮箱格式错误")
    	private String email;
    
    	@Size(min = 20, max = 30, message = "字符串长度要求20到30之间。")
    	private String size;
    
    	public Long getId() {
    		return id;
    	}
    
    	public void setId(Long id) {
    		this.id = id;
    	}
    
    	public Date getDate() {
    		return date;
    	}
    
    	public void setDate(Date date) {
    		this.date = date;
    	}
    
    	public Double getDoubleValue() {
    		return doubleValue;
    	}
    
    	public void setDoubleValue(Double doubleValue) {
    		this.doubleValue = doubleValue;
    	}
    
    	public Integer getInteger() {
    		return integer;
    	}
    
    	public void setInteger(Integer integer) {
    		this.integer = integer;
    	}
    
    	public Long getRange() {
    		return range;
    	}
    
    	public void setRange(Long range) {
    		this.range = range;
    	}
    
    	public String getEmail() {
    		return email;
    	}
    
    	public void setEmail(String email) {
    		this.email = email;
    	}
    
    	public String getSize() {
    		return size;
    	}
    
    	public void setSize(String size) {
    		this.size = size;
    	}
    
    	/**** setter and getter ****/
    
    }
    

    此时controller应该要加上@Valid ,否则不会验证!

    	/***
    	 * 解析验证参数错误
    	 * @param vp —— 需要验证的POJO,使用注解@Valid 表示验证
    	 * @param errors  错误信息,它由Spring MVC通过验证POJO后自动填充
    	 * @return 错误信息Map
    	 */
    	@RequestMapping(value = "/valid/validate")
    	@ResponseBody
    	public Map<String, Object> validate(
    	        @Valid @RequestBody ValidatorPojo vp, Errors errors) {
    	    Map<String, Object> errMap = new HashMap<>();
    	    // 获取错误列表
    	    List<ObjectError> oes = errors.getAllErrors();
    	    for (ObjectError oe : oes) {
    	        String key = null;
    	        String msg = null;
    	        // 字段错误
    	        if (oe instanceof FieldError) {
    	            FieldError fe = (FieldError) oe;
    	            key = fe.getField();// 获取错误验证字段名
    	        } else {
    	            // 非字段错误
    	            key = oe.getObjectName();// 获取验证对象名称
    	        }
    	        // 错误信息
    	        msg = oe.getDefaultMessage();
    	        errMap.put(key, msg);
    	    }
    	    return errMap;
    	}
    

    GROUP interface(分组)

    展开全文
  • scala中的option[T]、Any、Nothing、Nullnull、Nil、None和Unit 1 Option[T] 、None 和 Some 2 Any 3.Nothing 4.Nullnull 5、Nil 6、Unit 对人工智能感兴趣的同学,可以点击以下链接: 现在人工智能非常...
  • 2>/dev/null和>/dev/null 2>&1和2>&1>/dev/null的区别

    万次阅读 多人点赞 2019-05-24 17:05:08
    /dev/null 意思就是把错误输出到“黑洞” >/dev/null 2>&1 默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出...
  • 在用mybatis-plus封装的updateById方法来更新数据时,想把一个字段设置为null值,但是发现更新后数据没有为null还是原来的值,这是因为mybatis-plus在更新的时候做了null判断,默认不更新为null的传参。 2 解决方法...
  • 在mysql中,查询某字段为空时,切记不可用 = null,而是 is null,不为空则是 is not nullselect * from table where column is null;select * from table where column is not null;
  • java中null+""和null+null的深入理解

    万次阅读 2018-09-20 20:25:29
    java中null+""输出的字符串仍是null,但是字符串形式的null,而且length是4个; “”+null 得到的结果是一个null字符串,采用字符串加上其它类型的参数时如过其它参数不是字符串类型,会被强制转换成字符...
  • 在javascript中, 前端把null值展示到页面上, 对用户来说是不太友好的, 我们所以经常写很多对 null 值判断的代码, 费时费力, 所以写了一个统一的函数来处理 介绍 /** * data 需要传入的去除null值的对象或者值 ...
  • Java中的isEmpty方法、null以及““的区别

    万次阅读 多人点赞 2018-07-02 16:11:15
    这是一个比较容易混淆的概念,为了弄清楚这个问题,最好的方法当然是写程序来验证,开门见山,上代码!public class TestNull { public static void main(String[] ... String c = null; if (a.isEmpty()) { ...
  • mysql不等于null和等于null的写法

    万次阅读 2019-07-11 17:59:59
    1.表结构 2.表数据 ...SELECT * FROM sys_teacher WHERE teacher_name IS NOT NULL AND teacher_name <>'' 查询结果: 4.查询teacher_name字段等于null或等于空字符 SELECT * FROM sys_...
  • MySQL IS NOT NULL、!=NULL、ISNULL() 详解

    万次阅读 2018-03-25 11:20:53
    NULL 表示什么也不是,不能 =、&gt;、&lt; … 所有的判断,结果都是false,所有只能用 IS NULL 进行判断默认情况下,推荐使用 IS NOT NULL去判断,因为 SQL 默认情况下对 !=NULL 的判断会永远返回 0 行,但...
  •  1.1 null与not null  null 和 not null是mysql的字段属性,或称为数据类型的属性,不属于任何类型。null值也不等同于空值,空值是不占用存储空间的,null占用存储空间,如对myisam表占用1bit额外存储空间。  1.2...
  • Mysql将某个字段修改为null(从不允许为空not null修改为 null
  • java null==null是否成立

    千次阅读 2019-09-06 15:47:16
    看Arrys.equals()源码的时候,第一行是判断两个参数是否==,突然很好奇,如果==号两边都是null这种写法是否可行,可行的话结果是true还是false? public static boolean equals(int[] a, int[] a2) { if (a==a2) ...
  • mysql设置not nullnull区别

    千次阅读 2017-12-28 15:28:37
    mysql设置not nullnull区别
  • 【sql 语句】 =null 没有这种写法 只有 is null 和 is not null 这种写法 查了半天bug都没看出来,原来是判断 null的这里用的 = 没有 = null 这种表示 只有 is null 没有 != null 只有 is not null ...
  • Java进阶(二十一)java 空字符串与null区别

    万次阅读 多人点赞 2015-12-29 21:47:08
    java空字符串与null区别 1、类型 null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,Stringa=null; ""表示的是一个空字符串,也就是说它的长度为0。例如声明一个字符串Stringstr=""; 2、内存...
  • c语言NULL和0区别及NULL详解

    万次阅读 多人点赞 2016-10-13 21:32:41
    转载于一位牛人:http://www.cnblogs.com/youxin/archive/2012/03/27/2420023.html ~谢谢。 先看下面一段代码输出什么: #include int main() ... int *p=NULL;...输出 ,单步调试可以看出执行int *p=NULL,p的值
  • mysql ISNULL()和is null区别

    千次阅读 2019-04-01 15:16:47
    is null select * from 表名 where 字段名 is null; ISNULL() select * from 表名 where ISNULL(字段名); 比较区别 我的数据库表的数据量(146671条) 执行sql select * from fts_srv_dtr_f where ISNULL...
  • IS NULL和=NULL区别(SQL)

    千次阅读 2018-11-26 16:16:16
    NULL表示不可知不确定,NULL不与任何值相等(包括其本身) IS NULL 判断某个字符是否为空,并不代表空字符或者是0 =NULL 是判断某个值是否等于NULL 总之,要判断一个数是否等于NULL只能用 IS NULL 或者 IS NOT ...
  • SQL is NULL 和 = NULL区别

    千次阅读 2017-03-24 10:01:25
    最近发现在使用 = NULL是有些数据会查询不到。...而NULL = NULLNULL <> NULL其实返回的都是 FALSE,任何值和NULL做运算的结果都是false。 如果一定要用= NULL,则需要加上set ANSI_NULLS off使得SQL将不再遵循SQ
  • ORACLE is null 和 =null的区别

    万次阅读 2018-09-18 10:18:06
    排查有人存储过程case when里面写了 = null 的判断,而不是is null。导致了部分问题。 比如 select * from T_BD_CUSTOMER WEHRE FCUSTOMERID = NULL 和 select * from T_BD_CUSTOMER WHERE FCUSTOMERID is null ...
  • Json 解析 null 变为 “null

    千次阅读 2018-08-29 19:15:00
    推送解析:key为“url”的 value 值 null 变为“null” ,影响了后面的判断 if( !TextUtils.isEmpty(jumpPath)) 解决方法: json.isNull(key) 和 json.optString(key,null)来处理 ,其中key是json 中的键值 ...
  • ConcurrentHashMap为何不支持null键和null值 背景 最近在梳理总结《集合 - 常用Map之间区别》, 其中有一点就是 HashMap 是支持null键和null值,而 ConcurrentHashMap 是不支持的; 后来查看了一下jdk源码,证明了...
  • NULL与nullptr

    万次阅读 多人点赞 2018-05-17 18:00:44
    传统意义上来说,c++把NULL、0视为同一种东西,有些编译器将NULL定义为 ((void*)0),有些将其定义为0.c++不允许直接将void*隐式的转化为其他类型,但是如果NULL被定义为 ((void*)0),当编译char *p = NULL;...
  • 前端null传递到后端变为“null

    千次阅读 2020-05-09 21:56:59
    前端在获取地址栏中的请求参数时,若没有该参数,会返回null(空对象),再将该参数通过ajax发送到后端时,后端获取到的参数值会变为字符串“null", 在后端对参数进行判断时要注意这一点 对于传入后端为int 类型的...
  • MySQL 中NULL和空值的区别?

    万次阅读 多人点赞 2019-07-03 12:04:57
    作为后台开发,在日常工作中如果要接触Mysql数据库,那么不可避免会遇到Mysql中的NULL和空值。那你知道它们有什么区别吗? 学不动了,也不想知道它们有什么区别。大兄弟,不行啊,要面试! 前些天我的好朋友小木...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 822,408
精华内容 328,963
热门标签
关键字:

null