标签: notnull

如何使用springframework BeanUtils copyProperties忽略空值?

我想知道如何使用Spring Framework将属性从Object Source复制到Object Dest忽略null值.

我实际上使用Apache beanutils,使用此代码

    beanUtils.setExcludeNulls(true);
    beanUtils.copyProperties(dest, source);
Run Code Online (Sandbox Code Playgroud)

去做吧.但现在我需要使用Spring.

有帮助吗?

多谢

java spring copy notnull

22
推荐指数
4
解决办法
3万
查看次数

更改列默认值

我知道您可以更改现有列的默认值,如下所示:

ALTER TABLE Employee ADD CONSTRAINT DF_SomeName DEFAULT N'SANDNES' FOR CityBorn;
Run Code Online (Sandbox Code Playgroud)

但根据这个我的查询应该工作:

ALTER TABLE MyTable ALTER COLUMN CreateDate DATETIME NOT NULL 
      CONSTRAINT DF_Constraint DEFAULT GetDate()
Run Code Online (Sandbox Code Playgroud)

所以我在这里尝试使我的列不为Null并设置默认值.但在CONSTRAINT附近获取Incoorect语法错误.我错过了吗?

sql sql-server default-value notnull

22
推荐指数
4
解决办法
8万
查看次数

检查plsql中的记录IS NOT NULL

我有一个函数,它将返回一个类型的记录my_table%ROWTYPE,并在调用者,我可以检查返回的记录是否为空,但PL/SQL抱怨if语句

PLS-00306:调用'IS NOT NULL'时参数的数量或类型错误

这是我的代码:

v_record my_table%ROWTYPE;
v_row_id my_table.row_id%TYPE := 123456;
begin
    v_record := myfunction(v_row_id)
    if (v_record is not null) then
        -- do something
    end if;
end;

function myfunction(p_row_id in my_table.row_id%TYPE) return my_table%ROWTYPE is
    v_record_out my_table%ROWTYPE := null;
begin
    select * into v_record_out from my_table
    where row_id = p_row_id;
    return v_record_out;
end myfunction;
Run Code Online (Sandbox Code Playgroud)

谢谢.

plsql notnull

21
推荐指数
1
解决办法
4万
查看次数

启用数据捕获时,在DB2中使列可为空

我正在使用db2版本9.7*,似乎不可能以任何直接的方式使NOT NULL列可以为空.

不幸的是,使用更加开发人员友好的数据库的解决方案不可用.基本上,在MySQL中,我想做类似的事情(其中MY_COLUMN曾经是VARCHAR(200)NOT NULL):

ALTER TABLE MY_TABLE MODIFY COLUMN MY_COLUMN VARCHAR(200);
Run Code Online (Sandbox Code Playgroud)

db2 nullable alter non-nullable notnull

19
推荐指数
3
解决办法
6万
查看次数

更改列集非空失败

考虑下表,大约有10M行

CREATE TABLE user
(
  id bigint NOT NULL,
  ...
  CONSTRAINT user_pk PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
)
Run Code Online (Sandbox Code Playgroud)

然后我应用了以下更改

ALTER TABLE USER ADD COLUMN BUSINESS_ID    VARCHAR2(50);
--OK
UPDATE USER SET BUSINESS_ID = ID; //~1500 sec
--OK
ALTER TABLE USER ALTER COLUMN BUSINESS_ID SET NOT NULL;

    ERROR: column "business_id" contains null values
    SQL state: 23502
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为id列(已复制到business_id列)不能包含空值,因为它是主键,但要确保我检查它

select count(*) from USER where BUSINESS_ID is null
    --0 records
Run Code Online (Sandbox Code Playgroud)

我怀疑这是一个错误,只是想知道我是否遗漏了一些微不足道的东西

postgresql alter enterprisedb notnull

19
推荐指数
2
解决办法
3万
查看次数

MySQL - 如何计算空值而不是空值?

我有一个简单的安装表:

  • prod_code
  • 电子邮件
  • install_slot

如果install_slot为NULL,则它是可用的安装槽.不为null - 然后,使用插槽.我需要返回给定产品和电子邮件的总安装结果,以及给定产品和电子邮件的已安装结果.我想我可以用两个查询来做这个,但是想知道是否有一种SQL方法可以在一个中完成所有操作?

我尝试了以下作为一个疯狂的猜测,但它没有奏效.

SELECT
    i1.`prod_code`,
    COUNT(i1.`email`) AS total_installs,
    COUNT(ISNULL(i2.`install_slot`)) AS used_installs
FROM
    `installs` AS i1
JOIN
    `installs` AS i2
ON
    i1.`prod_code` = i2.`prod_code`
WHERE
    i1.`email` = 'example@example.com'
GROUP BY
    i1.`prod_code`,i2.`prod_code`
Run Code Online (Sandbox Code Playgroud)

mysql sql group-by isnull notnull

15
推荐指数
2
解决办法
3万
查看次数

图书馆支持Scala的NotNull特性

注意:从Scala 2.11开始,NotNull不推荐使用.

据我所知,如果你想让一个引用类型不可为空,你必须混合魔法NotNull特性,编译器会自动阻止你在其中放入null-able值.例如,请参阅此邮件列表线程.

缺乏的是,对非可空类型的图书馆支持不错.如果我想编写一个不需要直接连接java代码的软件包,并且我希望防止此软件包中的所有类型null默认使用,我别无选择,只能重新定义所有构建变量,如此

//can't actually do that, but just to give the general idea
class NString extends String with NotNull
class NMap[X,Y] extends Map[X,Y] with NotNull
...
Run Code Online (Sandbox Code Playgroud)

我希望scala有(作为编译器插件或库)选项供我编写

import collections.notnull._
Run Code Online (Sandbox Code Playgroud)

为了轻松禁止null在特定的scala文件中使用.

是否有一个选项可以轻松强制标准库中的许多有用类型不可为空?

scala notnull

14
推荐指数
1
解决办法
3170
查看次数

SQL Not Empty而不是Not NULL

我正在使用postgreSQL.我有一个专栏:

NOT NULL
Run Code Online (Sandbox Code Playgroud)

但是当我想插入一个空字符串的行时:

''
Run Code Online (Sandbox Code Playgroud)

它不会给我一个错误并接受.我该如何检查插入值应该是not empty多少?(既不是空的也不是空的)

PS:我的专栏定义为:

"ads" character varying(60) NOT NULL
Run Code Online (Sandbox Code Playgroud)

sql postgresql notnull

12
推荐指数
2
解决办法
2万
查看次数

需要澄清Resharper NotNullAttribute的含义

请考虑以下代码:

    public static void Foo()
    {
        Bar(null);
    }

    public static void Bar([NotNull] string s)
    {
        if (s == null)
            throw new ArgumentNullException("s");
    }
Run Code Online (Sandbox Code Playgroud)

[NotNull]属性用于Bar告诉s不应为null的调用者.这工作正常,当我将null传递给Bar(可能'null'赋值给标记为'NotNull'属性的实体时),我收到警告.

但它实际上并没有阻止我传递null,所以Bar仍然必须检查是否s为null.那么为什么我也会收到警告if (s == null)(表达总是假的)

据我所知,这个属性有一个含糊不清的含义; 根据具体情况,它可能意味着两件事:

  • 对于调用者:不传递null参数
  • 对于被调用者:此参数不为null

我是否正确使用此属性,或者我错过了什么?

顺便说一下,我正在使用Resharper 7 EAP,所以它可能是一个bug; 但是我想在报告之前确保我的用法是正确的...


编辑:刚刚在R#5.1上尝试过同样的事情; 它在呼叫站点上显示警告,但不在方法中显示.我将在Jetbrain的Youtrack上报告.


EDIT2:这里报告错误

resharper annotations notnull

12
推荐指数
1
解决办法
2106
查看次数

插入null时插入默认值

我有一个Oracle数据库,以及一个包含多个非空列的表,所有这些都具有默认值.

我想对我要插入的任何数据使用一个insert语句,并且不用费心去检查插入的值是否为空.

插入null时是否有任何方法可以回退到默认列值?

我有这个代码:

<?php
if (!empty($values['not_null_column_with_default_value'])) {
    $insert = "
        INSERT INTO schema.my_table
            ( pk_column, other_column, not_null_column_with_default_value)
        VALUES
            (:pk_column,:other_column,:not_null_column_with_default_value)
     ";
} else {
    $insert = "
        INSERT INTO schema.my_table
            ( pk_column, other_column)
        VALUES
            (:pk_column,:other_column)
     ";        
}
Run Code Online (Sandbox Code Playgroud)

所以,我必须完全省略该列,否则我将错误"尝试将null插入非空列".当然我有多个可空列,所以代码创建插入语句是非常难以理解的,丑陋的,我只是不喜欢它.

我想有一个声明,类似于:

INSERT INTO schema.my_table
    ( pk_column, other_column, not_null_column_with_default_value)
VALUES
    (:pk_column,:other_column, NVL(:not_null_column_with_default_value, DEFAULT) );
Run Code Online (Sandbox Code Playgroud)

那当然是一个假设的查询.你知道我用Oracle DBMS实现这个目标的方式吗?

编辑:

谢谢大家的答案.它接触到没有"标准"的方式来实现我想要的,所以我接受了IMO的最佳答案:我应该停止聪明并坚持通过自动构建的语句省略空值.

不完全是我想看到的,但没有更好的选择.

oracle default notnull

11
推荐指数
1
解决办法
3万
查看次数