`
ronon
  • 浏览: 192265 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

SQLServer2008 在where条件中使用CASE WHEN

阅读更多

create table #temp
(
    id int identity(1,1),
    name varchar(20),
    startYear int,
    startMonth int
)

insert into #temp
select 'z','2010','12' union all
select 'e','2011','11' union all
select 'a','2011','2' union all
select 'b','2011','5' union all
select 'c','2011','10' union all
select 'd','2011','7'

--查询早于等于指定日期的数据
declare @condition varchar(6)
set @condition='201110'

select * from #temp A
where
 (case when LEN(A.startMonth)=1 and A.startMonth!=0 then cast((CAST(startYear as varchar(4))+'0'+cast(A.startMonth as varchar(1))) as date)
       when LEN(A.startMonth)=2 then cast(CAST(startYear as varchar(4))+cast(A.startMonth as varchar(2)) as date) end) <=cast(@condition as date)

 

 

分享到:
评论

相关推荐

    case when和sum case when 写法及拼接字段

    在 SQL 查询语言中,`CASE WHEN` 结构是一种非常有用的工具,可以用来根据条件返回不同的值。它的工作原理类似于编程语言中的 `if...else` 语句,但在 SQL 中用于创建动态列或进行复杂的条件判断。 #### 基本语法 ...

    SQL Server中Case 的不同用法

    在SQL Server中,CASE表达式是一种强大的工具,用于在查询中进行条件判断和逻辑操作。它的功能远不止创建新字段那么简单,而是可以在多个方面增强你的SQL查询能力。以下是对CASE关键字在SQL Server中不同用法的详细...

    SqlServer使用 case when 解决多条件模糊查询问题

    在SQL Server中,`CASE WHEN` 语句是一种强大的逻辑表达式,用于处理基于不同条件的复杂查询。在多条件模糊查询中,`CASE WHEN` 可以避免在程序端或数据库端拼接SQL字符串,从而减少代码量,提高安全性,并避免SQL...

    CDC操作Sqlserver2008

    ### CDC操作Sqlserver2008 #### 概述 变更数据捕获(Change Data Capture,简称CDC)是SQL Server的一项重要功能,主要用于记录数据库表中的数据更改历史。这一功能在进行数据分析、日志记录、数据复制等场景下...

    论SQL Server数据库中Case函数的作用.pdf

    最后,在HAVING子句中使用Case函数可以在对分组后的数据进行过滤时增加条件逻辑: ```sql SELECT Category, AVG(Price) AS AveragePrice FROM Products GROUP BY Category HAVING CASE WHEN AVG(Price) &gt; 80 THEN ...

    sql server 2008 课后实验答案

    SQL Server 2008 实验答案 ...本资源提供了 SQL Server 2008 的实验答案,涵盖了 SELECT 语句、查询特定列、使用 DISTINCT 关键字、使用 WHERE 子句、使用 CASE 语句、使用 Aggregate 函数和使用子查询等知识点。

    导出SQL server2005表字段信息说明

    5. **是否主键**:(CASE WHEN (SELECT COUNT(*) FROM sysobjects WHERE (name IN (SELECT name FROM sysindexes WHERE (id = a.id) AND (indid IN (SELECT indid FROM sysindexkeys WHERE (id = a.id) AND (colid IN...

    SQL Server 的一些面试题

    在选择使用存储过程或自定义函数时,如果需要执行一系列操作、处理条件分支或动态SQL,通常使用存储过程。如果需要在查询中嵌入计算或返回单一值,那么用户定义函数更合适。 3. 统计特定日期的胜利和失败次数: ...

    SQL Server存储过程基本语法

    以上内容主要介绍了 SQL Server 中存储过程中的一些基本语法和操作方法,包括变量定义及赋值、表和临时表的操作、循环以及条件语句等,这些知识点对于理解和使用 SQL Server 存储过程至关重要。

    oracle到sqlserver存储过程语法转换

    在数据库迁移项目中,从Oracle迁移到SQL Server是一种常见的场景。本文旨在提供一份详细的指南,帮助开发者更好地理解这两种数据库系统在存储过程方面的语法差异,并指导如何进行有效的转换。 #### 一、基本语法...

    SQLServer获取2019年节假日列表

    标题“SQLServer获取2019年节假日列表”表明我们需要关注的是如何在SQL Server中查询并提取特定年份,比如2019年的公共假期信息。这通常涉及到设计日期表、编写查询脚本以及可能使用内置或自定义函数来实现。 首先...

    使用SQL查询 生成sql server数据库结构字典 生成html

    ### 使用SQL查询生成SQL Server数据库结构字典并输出为HTML 在进行数据库管理与维护时,经常需要了解数据库中的各种对象及其属性。SQL Server数据库字典可以帮助我们清晰地看到每张表的结构、各字段的定义等信息。...

    sqlserver行变列

    这里没有使用 `GROUP BY`,而是直接在 `SELECT` 子句中进行条件判断。如果学生没有某一科目的成绩,则会显示为0。 ### 方法三:使用多表联接 除了上述方法外,还可以使用多个表之间的左连接来实现行转列。这种方法...

    sql server2005 数据库习题及答案

    其他四种方法展示了更复杂的技巧,例如使用`COLUMNPROPERTY`函数检查列是否隐藏或计算得到,利用`CASE`语句根据条件选择性地展示列,创建视图简化查询过程,以及使用动态SQL构建灵活的查询语句。 #### 4. 查询被...

    SQL server中用到逻辑表达式的句子

    在SQL Server中,逻辑表达式是构建复杂查询和控制流程的关键元素。它们允许数据库操作根据特定条件执行不同的操作,从而增强了SQL语言的功能性和灵活性。以下是对给定文件中提到的几种涉及逻辑表达式的SQL Server...

    sqlserver死锁处理

    在 SQL Server 数据库系统中,当两个或多个事务在等待对方释放资源时,就会发生死锁现象。死锁不仅会降低系统的整体性能,还可能导致数据处理异常中断,严重影响业务运行。因此,了解并掌握 SQL Server 死锁的处理...

    sqlserver面试题

    在SQL Server面试中,了解和熟练掌握SQL语言是至关重要的。以下是一些常见的SQL Server面试题及相关的知识点解析: 1. 查询每门课都大于80分的学生姓名: 这个问题涉及到子查询和聚合函数。解决方案是通过找出所有...

    SQLServer面试题

    在 SQL Server 中,查询优化是非常重要的。通过编写高效的 SQL 语句,可以大大提高查询速度。例如,使用索引、优化查询顺序、减少 JOIN 操作等方法可以提高查询效率。 二、查询员工信息 在员工信息表中,需要查询...

Global site tag (gtag.js) - Google Analytics