sqlserver不等值如何查询?大于、小于、不等于

  • 原创
  • |
  • 浏览:21400
  • |
  • 更新:
  • |
  • 标签:SQL 

sqlserver在过滤数据的时候,有时候需要使用大于、小于、不等于查询过滤数据,那么,在不同数据类型,但是可以隐式转换的类型之中,如何使用不等值查询呢?

方法/步骤

  1. 1

    创建一个临时表,用于演示sqlserver语法中大于、小于、不等于的连接查询

    IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1; 

    CREATE TABLE #tmp1(

        Col1 varchar(50),        

        Col2 varchar(200),

        Col3 int,

        Col4 datetime        

    );

    sqlserver不等值如何查询?大于、小于、不等于
  2. 2

    创建另外一个临时表,用于演示sqlserver语法中大于、小于、不等于的等值连接查询

    IF OBJECT_ID('tempdb..#tmp2') IS NOT NULL DROP TABLE #tmp2; 

    CREATE TABLE #tmp2(

        Col1 varchar(50),      

        Col2 varchar(200),

        Col3 decimal(18, 4),

        Col4 varchar(50)      

    );

    sqlserver不等值如何查询?大于、小于、不等于
  3. 3

    往临时表中插入几行测试数据,其中部分数据在两个表虽然数据类型不同,但是插入相同的值

    insert into #tmp1(Col1, Col2, Col3, Col4) values('Code1', '第1行', 1, '2019-04-25');

    insert into #tmp1(Col1, Col2, Col3, Col4) values('Code10', '第2行', 10, '2019-04-26');

    insert into #tmp1(Col1, Col2, Col3, Col4) values('Code100', '第3行', 100, '2019-04-27');

    insert into #tmp2(Col1, Col2, Col3, Col4) values('Code1', NULL, 12, '2019-04-25');

    insert into #tmp2(Col1, Col2, Col3, Col4) values('Code10', '第2行', 5, '2019-04-26');

    insert into #tmp2(Col1, Col2, Col3, Col4) values('Code100', '第N行', 105, '2019-04-30');

    sqlserver不等值如何查询?大于、小于、不等于
  4. 4

    查询临时表中的测试数据

    select * from #tmp1;

    select * from #tmp2;

    sqlserver不等值如何查询?大于、小于、不等于
  5. 5

    使用INNER JOIN关联两张表,查询Col2字符串列值不相等的结果,使用一个小于符号加一个大于符号表示不等于(<>)。

    注意:null在sqlserver中比较特别,即使使用字符串与null做不等于比较,也不会返回结果

    select * 

    from #tmp1 a

    inner join #tmp2 b on b.Col1 = a.Col1

    where a.Col2 <> b.Col2

    sqlserver不等值如何查询?大于、小于、不等于
  6. 6

    使用INNER JOIN关联两张表,查询int类型的数字比decimal类型数字大的结果,直接使用大于符号比较即可

    select * 

    from #tmp1 a

    inner join #tmp2 b on b.Col1 = a.Col1

    where a.Col3 > b.Col3

    sqlserver不等值如何查询?大于、小于、不等于
  7. 6
    该信息未经许可获取自百度经验
  8. 7

    使用INNER JOIN关联两张表,查询detatime类型的日期比字符串类型日期小的结果,直接使用小于符号比较即可

    select * 

    from #tmp1 a

    inner join #tmp2 b on b.Col1 = a.Col1

    where a.Col4 < b.Col4

    sqlserver不等值如何查询?大于、小于、不等于
    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部
相关标签SQL