Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 我的表中的空值_Sql - Fatal编程技术网

Sql 我的表中的空值

Sql 我的表中的空值,sql,Sql,我正在尝试做一个动态简单的INSERT SELECT 'INSERT INTO Agency (Agency_Id) VALUES (' + CAST(Agency_Id AS VARCHAR(10)) + ')' FROM User WHERE User_Id = 1 但是,如果我的机构Id为空,则此查询将仅在结果中显示空,而不是像插入机构(机构Id)值(空)这样的查询 我该怎么做 只需对空值使用'NULL': SELECT 'INSERT INTO Agency (Agency_I

我正在尝试做一个动态简单的
INSERT

SELECT 'INSERT INTO Agency (Agency_Id) VALUES (' + CAST(Agency_Id AS VARCHAR(10)) + ')'   
FROM User 
WHERE User_Id = 1
但是,如果我的
机构Id
为空,则此查询将仅在结果中显示
,而不是像
插入机构(机构Id)值(空)
这样的查询


我该怎么做

只需对空值使用
'NULL'

SELECT 'INSERT INTO Agency (Agency_Id) VALUES (' + ISNULL(CAST(Agency_Id AS VARCHAR(10)), 'NULL') + ')'   
FROM User 
WHERE User_Id = 1
SELECT 'INSERT INTO Agency (Agency_Id) VALUES (' 
        + ISNULL(Agency_Id,'NULL')
        + ')'   
FROM User 
WHERE User_Id = 1

旁注:为什么不使用
插入到。。。选择
插入代理(代理Id)从User\u Id=1的用户选择CAST(代理Id为VARCHAR(10))?这是因为当您将null与任何内容连接起来时,它将导致null。如果您的代理Id为null,您确定要添加记录吗?这只是一个示例。空值可以与其他字段一起出现。