SQL语句如何写不等于?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句如何写不等于?相关的知识,希望对你有一定的参考价值。

表中允许空值。如何写“不等于”
例如:TAG字段 含:NULL、新闻、文章、......
用这个语句查询:
select * from news where Tag <> '文章'
但是结果里却不包含所有值为NULL的记录。
应该怎么写?
我知道可以用or。我想知道没有更简单的方法吗

select * from news where Tag is not '文章'

不等于:数字比较时 <>
文字比较时 is not
参考技术A 对于这种有null的我一般用这样的句子

isnull(Tag,'') <> '文章'

这样就可以搞定了
不管是字符还是数字都可以用 <>本回答被提问者采纳
参考技术B select * from news where Tag<>'文章' or Tag is null 参考技术C select * from news where rtrim(Tag) <> '文章'

如何配置ibatis语句带小于号的

<isNotEmpty property="docNo" prepend="AND">
DOC_NO <= '#docNo#'
</isNotEmpty>
按如上方式去拼写SQL语句,因为出现小于号所以ibatis配置文件报错,如何解决

IBatis的Mapper配置文件中使用大于号>和小于号<时,要使用
<![CDATA[
sql语句
]]>
来将sql语句括起来,如:
<select id="test_query" parameterType="hashmap" resultType="hashmap">
<![CDATA[
select t.f1,t.f2
from table t
where t.f3 <> 1
]]>
<include refid="test_sql_common" />
</select>

或者:
<select id="searchEventCountBy" resultClass="java.lang.Integer" >
select count(1) as count from BT_Event where alarmClear=0 and <![CDATA[alarmTime >= #fromTime#]]>
</select >
参考技术A

小于号是xml的特殊字符,需要转义。
<![CDATA[ DOC_NO <= #docNo# ]]>

    IBatis的Mapper配置文件中使用大于号>和小于号<时,要使用<![CDATA[。

    <select id="test_query" parameterType="hashmap" resultType="hashmap">。

    <![CDATA[
    select t.f1,t.f2
    from table t
    where t.f3 <> 1
    ]]>

    <include refid="test_sql_common" />
    </select>

    <select id="searchEventCountBy" resultClass="java.lang.Integer" >

    select count(1) as count from BT_Event where alarmClear=0  and   <!

    [CDATA[alarmTime >= #fromTime#]]>

参考技术B 中间那行改成这样就可以了。小于号是xml的特殊字符,需要转义。
<![CDATA[ DOC_NO <= #docNo# ]]>本回答被提问者和网友采纳
参考技术C <![CDATA[< DOC_NO<=#docNo#>]]>

以上是关于SQL语句如何写不等于?的主要内容,如果未能解决你的问题,请参考以下文章

asp中sql查询语句中大于小于怎么表示

如何配置ibatis语句带小于号的

SQL语句查询不等于怎么查不出来?

年龄小于20岁和大于20岁的sql语句怎么写

sql查询不为空的字段

求一句sql语句:大于或者小于某个值,但只取紧挨着的6项。