我有一个问题:
SELECT
vendors_id,
name,
amount
FROM ....
当内部查询
时Error Code: 1048
Column 'vendors_id' cannot be null
返回数据,结果返回成功。如果内部查询仅返回NULL:
整个查询返回错误:
void Application_Start(object sender, EventArgs e)
{
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Server.MapPath("~/Log4Net.config")));
var log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
log.Info("Logging started");
}
如果内部查询返回所有NULL,则如何返回0?
答案 0 :(得分:1)
您想要的功能称为COALESCE。 COALESCE获取参数列表并返回该列表中的第一个非NULL值。例如查询
SELECT COALESCE(vendors_id, 0), COALESCE(name, ''), COALESCE(amount, 0)...
FROM vendors...
将返回非NULL列值或每列的指定替换值。
答案 1 :(得分:0)
您可以使用以下功能:
ISNULL(colName,'new value') AS
例如:
Select A.col1,ISNULL(B.col2,'0') as col2 from Table1 A INNER JOIN Table2 B ON A.cod1=B.cod1