社区
MS-SQL Server
帖子详情
条件中的 name is null 和name=null
liukanghui
2003-10-15 04:25:32
在sql中 select * from table where name=null 会出现条件找不到的情况,但改为 name is null就可以了。
而且name=null 有时能找到,有时又找不到,很奇怪
望高手解答~
...全文
923
9
打赏
收藏
条件中的 name is null 和name=null
在sql中 select * from table where name=null 会出现条件找不到的情况,但改为 name is null就可以了。 而且name=null 有时能找到,有时又找不到,很奇怪 望高手解答~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
itcoco
2003-10-16
打赏
举报
回复
to :zjcxc(邹建)
为什么我用is null就不对呢?
我的表如下
课程号 课程名 先修课
C801 数学
C802 C++ C807
C803 数据结构 C802
C804 数据库 C803
为什么我用
select * from 课程表
where 先修课 IS NULL
查询结果是空呢?无一条记录
而用select *from 课程表
where 先修课 IS not null (我这样写也不知道对不对)却所有的记录
都出来了
tonyzhengjq
2003-10-16
打赏
举报
回复
用is null
dafu71
2003-10-16
打赏
举报
回复
为什么我用
select * from 课程表
where 先修课 IS NULL
查询结果是空呢?
select * from 课程表
where 先修课 IS NULL or 先修课=''
goodboycwy
2003-10-16
打赏
举报
回复
可以使用name=''或者name is null!
伍子V5
2003-10-16
打赏
举报
回复
select * from 课程表
where 先修课 IS NULL
是正确的
没有结果是因为你那个字段的数据是''而不是null
zjcxc
元老
2003-10-15
打赏
举报
回复
判断是否为空应该用is null
pengdali
2003-10-15
打赏
举报
回复
空值比较搜索条件
NULL 值表示列的数据值未知或不可用。NULL 值与零(数字值或二进制值)、零长度的字符串或空白(字符值)的含义不同。相反,空值可用于区分输入的是零(数字列)或空白(字符列)还是无数据输入(NULL 可用于数字列和字符列)。
可以通过以下两种方式在允许空值的列中输入 NULL 值(根据 CREATE TABLE 语句的指定):
如果无数据输入并且列或数据类型上无默认的或 DEFAULT 约束,Microsoft® SQL Server™ 2000 将自动输入 NULL 值。
通过键入不带引号的 NULL 显式输入 NULL 值。如果在字符列中键入带引号的 NULL,则将其视为字母 N、U、L、L 而非空值。
当检索到空值时,应用程序通常会在适当的位置显示 NULL 或 (NULL) 或 (null) 这样的字符串。例如,titles 表中的 advance 列允许空值:
SELECT title_id, type, advance
FROM pubs.dbo.titles
WHERE advance IS NULL
下面是结果集:
title_id type advance
-------- ------------ --------------------------
MC3026 UNDECIDED (null)
PC9999 popular_comp (null)
(2 row(s) affected)
比较空值
比较空值时必须小心。比较行为取决于选项 SET ANSI_NULLS 的设置。
当 SET ANSI_NULLS 为 ON 时,如果比较中有一个或多个表达式为 NULL,则既不输出 TRUE 也不输出 FALSE,而是输出 UNKNOWN。这是因为,未知值不能与其它任何值进行逻辑比较。这种情况发生在一个表达式与 NULL 单词进行比较,或者两个表达式相比,而其中一个表达式取值为 NULL 时。例如,当 ANSI_NULLS 为 ON 时,以下比较总是输出 UNKNOWN:
ytd_sales > NULL
只要变量包含 NULL 值,下列比较也输出 UNKNOWN:
ytd_sales > @MyVariable
使用 IS NULL 或 IS NOT NULL 子句测试 NULL 值。这将增加 WHERE 子句的复杂性。例如,表 Northwind Customers 中的 Region 列允许空值。如果使用 SELECT 语句不仅测试其它值还测试空值,则必须包括 IS NULL 子句:
SELECT CustomerID, CompanyName, Region
FROM Northwind.dbo.Customers
WHERE Region IN ('WA', 'SP', 'BC')
OR Region IS NULL
Transact-SQL 支持在与空值进行比较时,允许比较运算符返回 TRUE 或 FALSE。通过设置 ANSI_NULLS OFF 可将该选项激活。当 ANSI_NULLS 为 OFF 时,如果 ColumnA 包含空值,则比较操作 ColumnA = NULL 返回 TRUE;如果 ColumnA 除包含 NULL 外还包含某些值,则比较操作返回 FALSE。此外,两个都取空值的表达式的比较也输出 TRUE。当 ANSI_NULLS 设置为 OFF 时,SELECT 语句将返回 Customer 表中所有 Region 为空值的行:
SELECT CustomerID, CompanyName, Region
FROM Northwind.dbo.Customers
WHERE Region = NULL
不论 ANSI_NULLS 如何设置,对于 ORDER BY、GROUP BY 和 DISTINCT 关键字空值总被视为是相等的。此外,允许 NULL 的唯一索引或 UNIQUE 约束只能包含一个带有 NULL 键值的行。后面带有 NULL 的行将被拒绝。属于主键的任何列中都不能含有 NULL。
涉及 NULL 的计算均取值为 NULL,这是因为只要有一个因子为未知,结果肯定是 UNKNOWN。例如,如果 column1 为 NULL,则 column1 + 1 取值为 NULL。
当搜索的列中包括定义为允许空值的列时,可以通过下列模式查找数据库中的空值或非空值:
WHERE column_name IS [NOT] NULL
friendliu
2003-10-15
打赏
举报
回复
就得用NAME IS NULL
SQL中就是这么用的。。
sdhdy
2003-10-15
打赏
举报
回复
name=null用=进行比较并不合适!
基于Web的酒店客房管理系统的设计与实现+论文+开题
博主介绍:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌项目名称基于Web的酒店客房管理系统的设计与实现系统说明3.2.1 用户模块功能分析前台模块应主要包括用户登录模块、用户注册模块、查看客房信息模块、客房预定 模块、用户留言模块、充值模块和个人信息维护模块。用户登录模块:用户通过输入注册的的账号和密码,然后进行身份验证,匹配成功 后实现登录功能。用户注册模块:用户输入合法的账号和密码可以实现注册功能。 查看客房信息模块:用户可以通过首页查看客房的价格,图片,详情等信息,从而 可以选择想要预定的房间。 客房预定模块:用户选择自己想要预定的客房后,可以通过输入相关信息进行订房操作。用户留言模块:用户可以向管理员发送留言。 充值模块:用户可以通过添加银行卡再为自己进行充值操作。 个人信息维护模块:用户可以修改自己的姓名、密码、身份证号等信息,还可以查看自己的订单。3.2.2 管理员模块功能分析对于管理员而言,一个好的管理系统总是能让酒店的管理工作事半功倍[7]。管理员 能够通过这个系统对自己的酒店情况一目了然,应该包括客户留言模块、客房管理模 块、订房信息管理模块、入住信息管理模块、统计分析模块、酒店新闻管理模块、会 员信息管理模块、员工信息管理模块、系统用户管理模块、个人信息维护模块。客户留言模块:管理员可以查看并回复用户的留言。客房管理模块:管理员可以管理客房信息,可以添加新的客房,删除已经停用的客房信息,还可以修改现有的客房信息。订房信息管理模块:管理员可以处理用户的订房请求,为用户办理入住手续。入住信息管理模块:对于没有注册的线下客户,也可以办理入住手续。统计分析模块:可以对酒店所有的入住信息进行记录和总结分析。酒店新闻管理模块:管理员可以更新网站上的新闻公告,展示图片等信息。会员信息管理模块:管理员可以查看到所有的注册会员信息,可以对会员信息进行删除,修改,添加操作。员工信息管理模块:管理员可以查看到自己公司所有的员工信息,而且还可以对员工的相关信息进行管理。系统用户管理模块:管理员可以查看到所有的系统管理员信息并对管理员信息进行管理。个人信息维护模块:管理员可以更改自己的登录密码或者是姓名、性别、手机号等 相关个人信息。编辑 环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.数据库:MySql 5.7版本;6.是否Maven项目:否;技术栈1. 后端:Spring+SpringMVC+Mybatis2. 前端:JSP+CSS+JavaScript+jQuery使用说明1. 使用Navicat或者其它工具,在mysql
中
创建对应名称的数据库,并导入项目的sql文件;2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;3. 将项目
中
springmvc-servlet.xml配置文件
中
的数据库配置改为自己的配置;4. 运行项目,在浏览器
中
输入http://localhost:8080/ 登录运行截图编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑编辑 用户管理控制层:package com.houserss.controller;import javax.servlet.http.HttpSession;import org.apache.commons.lang3.StringUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.ResponseBody;import com.houserss.common.Const;import com.houserss.common.Const.Role;import com.houserss.common.ServerResponse;import com.houserss.pojo.User;import com.houserss.service.IUserService;import com.houserss.service.impl.UserServiceImpl;import com.houserss.util.MD5Util;import com.houserss.util.TimeUtils;import com.houserss.vo.DeleteHouseVo;import com.houserss.vo.PageInfoVo;/** * Created by admin */@Controller@RequestMapping(/user/)public class UserController if (ip !=
null
&& ip.length() > 0) String[] ips = ip.split(,);for (int i = 0; i
mysql
中
IS
NULL
与 =‘‘
mysql
中
IS
NULL
与 =''有什么区别? 这个区别在于IS
NULL
表示一个字段建表时,设置的是允许为空。插入值时,没有插入这个值。
NULL
表示no known,即不知道,所以,它可以是任意值。 所以使用 =
null
是查不到值的,因为=不知道,还是不知道。 如果要使用,需要加上 set ANSI_
NULL
S off 注:这句话表示不遵从 SQL-92 标准。=
null
和IS
NULL
被认为是等效的。 用IS
NULL
查询,表示是:要查建表
中
,设置的字段可以为空,并且插入数据时,
mysql
中
is not
null
和 !=
null
的区别
今天做定时任务,需要用到一个mysql查询 于是我就写: sqlcondition=" and fplsh!=
null
and iskp='2'" 却发现发挥的list为空 很是诧异 于是我把SQL语句放到navicate
中
执行,发现一条数据也查不到 很是苦闷,不应该啊,明明有数据 于是我看到!=
null
看着有点不顺眼啊,我改成is not
null
找到了,根据
条件
因素的唯一变化原理,我很明智的判断出了是is not
null
和!=
null
的区别 我知道了他们的区别,但是为...
sql
中
=
null
和is
null
区别
sql
中
=
null
和is
null
区别 前言 关于sql语句对
null
的处理尤其小心,这个
null
处理的知识点我看了好几次,但是很容易再次犯错,这次记录一个点, 因为这个错误是我看一个帖子看到的错误的写法 错误现场 -- 1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数 SELECT a.* ,b.s_score AS 01_score,c.s_score AS 02_score FROM student a JOIN score b ON a.s_id=b.s_i
c# 判断是否为
null
, 到底使用 “is
null
“ 还是 “==
null
“
判断是否为
null
应该使用 is
null
避免使用 “==
null
” 因为 后者可能调用 “operator ==” 另外1:C# 9.0 引入了 is not 另外2:有用的判断为
null
后抛出异常的简洁语句: public static int CountNumberOfSInName(string name) { _ = name ?? throw new Argument
Null
Exception(nameof(name)); return name.Count(c =>
MS-SQL Server
34,575
社区成员
254,583
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章