利用SQL Server赋值给列新的值

利用SQL Server赋值给列新的值

在利用SQL Server进行数据处理时,有时会需要给表中的某一列赋新的值。这时可以使用SQL语句中的UPDATE命令,来更新表中的数据。

UPDATE命令的语法

UPDATE命令的语法格式如下:

UPDATE table_name

SET column1 = value1, column2 = value2, ...

WHERE condition;

其中,table_name是要更新的表名,column1、column2等是要更新的列名,value1、value2等是要更新的新值。UPDATE命令还可以使用WHERE关键字来指定更新的条件。如果不指定WHERE条件,则将所有行的数据都进行更新。

示例

以下是一个示例,演示如何使用UPDATE命令将表中的某一列赋新的值:

UPDATE employees

SET salary = 50000

WHERE department = 'Sales';

这个示例中,将employees表中department列的值为'Sales'的行的salary列的值设为50000。

使用函数给列赋新的值

除了直接指定新值之外,还可以使用SQL Server的一些函数来给列赋新的值。这些函数包括:

CONCAT:连接两个或多个字符串。

LEFT:返回字符串左侧的指定数目的字符。

RIGHT:返回字符串右侧的指定数目的字符。

LOWER:将字符串转换为小写。

UPPER:将字符串转换为大写。

LEN:返回字符串的长度。

REPLACE:替换字符串中指定的字符或子字符串。

SUBSTRING:返回字符串的一个子字符串。

示例

以下是一个示例,演示如何使用函数给列赋新的值:

UPDATE employees

SET email = CONCAT(first_name, '.', last_name, '@company.com')

WHERE department = 'IT';

这个示例中,将employees表中department列的值为'IT'的行的email列的值设为由first_name列、last_name列和固定的'@company.com'字符串拼接而成的新字符串。

使用CASE语句给列赋新的值

在UPDATE命令中,还可以使用CASE语句来根据不同的条件给列赋不同的值。

示例

以下是一个示例,演示如何使用CASE语句给列赋新的值:

UPDATE employees

SET bonus = CASE

WHEN salary > 50000 THEN 5000

WHEN salary > 40000 THEN 4000

ELSE 3000

END

WHERE department = 'Sales';

这个示例中,将employees表中department列的值为'Sales'的行的bonus列的值根据salary列的值进行不同的设置。如果salary大于50000,则设置bonus为5000;如果salary大于40000,则设置bonus为4000;否则设置bonus为3000。

总结

在SQL Server中,使用UPDATE命令可以方便地更新表中的数据。除了直接指定新值之外,还可以使用函数和CASE语句来根据不同的条件给列赋不同的值。

数据库标签