码迷,mamicode.com
首页 > 数据库 > 详细

Sql Server连表查询字段为null

时间:2019-12-11 17:22:04      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:数据   结果   开始   函数   判断   use   out   str   rom   

这是一个坑,并且是有毒的坑。

一不小心我就掉进了这个坑里面,费了好大的力气这才从坑里面爬出来。

话不多说,开始吹BB啦。

一.简单说说遇到的问题:

    连表查询,一对多。

    出现 int,  smalldatetime等非string类型的字段为null。

    操作如下:

    1.sql语句查询,结果完全准确。

    2.直接后台获取,结果有点不一样,出现异常。

二.解决办法如下:

    使用 ISNULL(value1, value2) 

    1、value1与value2的数据类型必须一致。

    2、如果value1的值不为null,结果返回value1。

    3、如果value1为null,结果返回vaule2的值。vaule2是你设定的值。

    如果在select中就是isnull可以判断是否是null,如果是给个默认值,isnull("字段名","设定默认的数据")

 

    例如1:select isnull(fs,6) from xuesheng where name=‘张三‘  在表xuesheng中,fs分数如果为空,结果输出6。如果不为空,输出fs的值。

    例如2:SELECT  A.UserID,

                                A.LoginName, 

                                ISNULL(B.AddTime, 0)  AS AddTime,

                                ISNULL(B.ID, 0) AS ID

    FROM      A LEFT OUTER JOIN B ON A.UserID = B.UserID

 

Mysql的ifnull()函数:

       ifnull(value1,value2)

      1、如果value1不为空,结果返回value1。

      2、如果value1为空,结果返回value2。同上

Sql Server连表查询字段为null

标签:数据   结果   开始   函数   判断   use   out   str   rom   

原文地址:https://www.cnblogs.com/sheng518/p/12023417.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!