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,您确定要添加记录吗?这只是一个示例。空值可以与其他字段一起出现。