2024年4月19日发(作者:)

sql server条件语句

SQL Server 条件语句是 SQL 中的一种语句类型,它用于根据一

个或多个条件定制查询语句。这些条件可以是相等、小于、大于等关

系,还可以包括字符串匹配,以及逻辑运算符等等,通过它们来过滤

数据,实现所需的结果:

一、SQL Server 条件语句类型

1. IF 语句:IF 语句是 SQL Server 中最常用的条件语句,它

能够根据条件来执行相应的逻辑操作。如果条件为真,则执行THEN逻

辑,否则执行ELSE逻辑。示例:

```

IF <表达式>

BEGIN

END

ELSE

BEGIN

END

```

2. CASE 语句:CASE 语句允许在满足一定条件时执行一些逻辑

操作,它和 IF 语句十分相似。但是,CASE 语句可以根据不同条件执

行多个不同的逻辑。示例:

```

SELECT

CASE

WHEN <条件1> THEN <逻辑1>

WHEN <条件2> THEN <逻辑2>

ELSE <逻辑3>

END

AS <列名>

FROM <表名>

```

二、SQL Server 条件语句实践

1. IF 语句的实践:下面是一个用于根据表单数据动态生成

INSERT 语句的示例:

```

DECLARE

@name VARCHAR(50),

@age INT,

@gender CHAR(1),

@sql NVARCHAR(500)

SET @name = ''

SET @age = CAST('' AS INT)

SET @gender = ''

IF @gender = 'M'

BEGIN

SET @sql = 'INSERT INTO my_table (name, age, gender)

VALUES(''' + @name + ''', ' + CAST(@age AS NVARCHAR(3)) + ',

1)'

END

ELSE IF @gender = 'F'

BEGIN

SET @sql = 'INSERT INTO my_table (name, age, gender)

VALUES(''' + @name + ''', ' + CAST(@age AS NVARCHAR(3)) + ',

2)'

END

EXEC sp_executesql @sql

```

2. CASE 语句的实践:下面是一个根据员工工资查询其等级的示

例:

```

SELECT

CASE

WHEN salary < 20000 THEN 'Junior'

WHEN salary >= 20000 AND salary < 40000 THEN

'Intermediate'

ELSE 'Senior'

END

AS rank

FROM employees

```

在 SQL Server 中,条件语句是十分重要的语句类型之一。在实

际应用中,它能够帮助开发人员实现灵活的数据过滤、动态的 SQL 操

作以及条件方案的执行。所以,在日常 SQL 的写作中,条件语句是必

不可少的知识点之一。