标签: isnull

带有内部联接的SQL Server NULL值

我正在使用C#和SQL Server.

看看下面的SQL:

SELECT table1.id, table1.description, table2.name, table2.surname 
FROM table1 
    INNER JOIN table2 ON table1.EmpID = table2.EmpID
Run Code Online (Sandbox Code Playgroud)

它很直接,工作正常.它可以获取table1的表就好了内部连接的数据table1.empidtable2.nametable2.surname正确.

现在,有时table1.empid是null,当它是时,这个SQL只是忽略带有null值的"row"; 根据标准,这很正常.

我需要的是获取带有空值的"行",当table1.empid为null时,我需要将自定义值设置为table2.nametable2.surname.

我一直在玩isnull(),但我所做的就是让它变得更糟.

有什么建议?

谢谢

c# sql null inner-join isnull

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

为什么不使用is_null()?

运行CodeSniffer PHP样式测试给了我以下错误:

The use of function is_null() is forbidden    
Squiz.PHP.ForbiddenFunctions.Found
Run Code Online (Sandbox Code Playgroud)

为什么禁止使用is_null()?

php isnull codesniffer

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

"is null"和"<=> NULL"之间的区别是什么

is null和之间有什么区别<=> NULL

mysql> SELECT * FROM param WHERE num is null;
+-----+------+
| id  | num  |
+-----+------+
|   8 | NULL |
| 225 | NULL |
+-----+------+
2 rows in set (0.00 sec)

mysql> SELECT * FROM param WHERE num<>NULL;
Empty set (0.00 sec)

mysql> SELECT * FROM param WHERE num<=>NULL;
+-----+------+
| id  | num  |
+-----+------+
|   8 | NULL |
| 225 | NULL |
+-----+------+
Run Code Online (Sandbox Code Playgroud)

标准版本的差异?<=>如果有参数,我没有看到参数的实际用途is null

mysql sql null isnull

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

如何在 PostgreSQL 表中选择属性不为 NULL 的位置?

我有这个PostgreSQL表,测试一下:

 a | b | c | d 
---+---+---+---
 5 |   | 5 | 7
 5 | 6 |   |  
 1 | 2 | 3 |  
Run Code Online (Sandbox Code Playgroud)

我想查询所有b值不为NULL的元组:

SELECT * FROM test WHERE b != NULL;
SELECT * FROM test WHERE b <> NULL;
Run Code Online (Sandbox Code Playgroud)

这两个命令都没有返回记录:

 a | b | c | d 
---+---+---+---
(0 rows)
Run Code Online (Sandbox Code Playgroud)

我应该使用什么命令来选择所有具有 ab 值的元组?

postgresql null isnull

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

如何在sql server中编写类似于ISNULL的IsNullOrEmpty方法

我想在sql server中有类似于ISNULL()的函数,除了它应该检查表达式为null和空.

如果第一个参数为null或为空,则返回第二个参数.

有人能帮我吗?

sql-server isnull isnullorempty

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

IsNull()sql函数

我试图将名为"Number"的列字段的值递增1,如果该值当前为Null,我想将该值设置为1,因为Null值不能递增.我发现了isNull()函数,并且没有使用以下语句获得结果:

Update SomeTable set Number = IsNull(Number, Number+ 1) where
ItemCode = '000000' ;
Run Code Online (Sandbox Code Playgroud)

我的问题基本上是如何以1的增量同时更新字段值,如果当前为"NULL"则将值设置为1

谢谢!

sql sql-server isnull sql-server-2008 sql-update

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

Pandas 在加载 CSV 时保留“null”和“”

我有一个奇怪的 CSV,它有“null”作为值,并且它有一个空单元格作为值。

所以我的行看起来像这样:

null,0,0,0,1,,,,0,0,0,null
Run Code Online (Sandbox Code Playgroud)

我除了读取和重写文件之外什么也没做:

f = pd.read_csv(input_file,sep=',', quotechar='"', engine='python', converters={i: str for i in range(0, 155)})
f.to_csv(output_file, sep=',', escapechar=' ', quotechar='"', quoting=csv.QUOTE_MINIMAL, index=False)
Run Code Online (Sandbox Code Playgroud)

上面是技术上“重命名”一个文件,但这是为了证明我得到了整个文件的相同值,稍后我将修剪某些列(我已经这样做了,但发现数据是错误的)。

那么,如何保留“null”和“”而不读取每一行/列,并创建一个检查每个单元格的函数?

这可能吗?

我尝试了 na_rep="null",但随后所有 '' 都转换为 'null',或者如果我删除它们,则会丢失我的 'null' 值。

python isnull pandas

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

在formview的select命令中的ISNULL函数

这是我在formview中的select语句的一部分,它在更新过程中一直运行,直到它达到空值.

 (SELECT TOP 1 F.tel_id FROM TELEPHONE as F where F.tel_type_id = 3 AND F.client_id = @id
 ORDER BY sort_no ) AS faxid
Run Code Online (Sandbox Code Playgroud)

所以我尝试以下列方式使用ISNULL函数,但它会抛出错误.怎么做到呢?

ISNULL((SELECT TOP 1 F.tel_id FROM TELEPHONE as F where F.tel_type_id = 3 AND F.client_id= @id ORDER BY sort_no ) AS faxid ,0) AS faxid
Run Code Online (Sandbox Code Playgroud)

formview isnull sql-server-2008

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

WHERE子句不按逻辑顺序进行过滤

我正在编写一个通用搜索存储过程来基于用户可以在UI中选择的许多过滤器(使用MS-SQL 2008)在表中进行搜索.

这是简化版:

CREATE PROCEDURE SearchAll
    @FirstName NVARCHAR(MAX) = NULL,
    @LastName NVARCHAR(MAX) = NULL,
    @Age INT = NULL
AS
    SELECT * 
    FROM persons 
    WHERE 
        (@FirstName IS NULL OR FirstName = @firstname)
        AND (@LastName IS NULL OR LastName = @LastName)
        AND (@Age IS NULL OR Age = @Age)
Run Code Online (Sandbox Code Playgroud)

似乎如果我将NULL传递给@Age,那么就没有性能成本.但是,当我测试大量数据时,我失去了很好的性能!

这里的查询是相同的逻辑但实际上非常不同:

DECLARE @FirstName NVARCHAR(MAX) = NULL
DECLARE @Age INT = 23
------------First slow------------
SELECT * 
FROM persons 
WHERE 
    (@FirstName IS NULL OR FirstName = @firstname)
    AND (@Age IS NULL OR Age = …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server isnull sql-server-2008

2
推荐指数
1
解决办法
449
查看次数

带有ISNULL的CASE语句(0,'')

我希望以下内容SQL statement能够归来b.

你能指出我做错了什么吗?

SELECT CASE WHEN ISNULL(0,'')='' THEN 'a' ELSE 'b' END
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server case coalesce isnull

2
推荐指数
1
解决办法
3027
查看次数