仅从SQL Server中的一列中删除变音符号
我对只从数据库中的一列中删除变音符号有问题。是否可以只从一列中删除变音符号 我试过:仅从SQL Server中的一列中删除变音符号,sql,sql-server,Sql,Sql Server,我对只从数据库中的一列中删除变音符号有问题。是否可以只从一列中删除变音符号 我试过: select 'áéíóú' collate SQL_Latin1_General_Cp1251_CS_AS 但它盖过了整张桌子 我需要: 表1: Column1 Column2 Column n ------------------------ šbook sbook čbook cbook ěbook ebook ábook abook ... ... 更新表1 设置
select 'áéíóú' collate SQL_Latin1_General_Cp1251_CS_AS
但它盖过了整张桌子
我需要:
表1:
Column1 Column2 Column n
------------------------
šbook sbook
čbook cbook
ěbook ebook
ábook abook
... ...
更新表1
设置[Column2]=@[Column2]
其中,[Column2]使用convert()
到varchar()
和COLLATE
对[dbo].[Table1]中的QL\u-Latin1\u-General\u-Cp1251\u-CS\u进行比较:
update t
set Column2 = convert(varchar(32),Column1 collate SQL_Latin1_General_Cp1251_CS_AS);
select Column1, Column2
from t;
rextester演示:
返回:
+---------+---------+
| Column1 | Column2 |
+---------+---------+
| šbook | sbook |
| čbook | cbook |
| ěbook | ebook |
| ábook | abook |
+---------+---------+
这可能有帮助。为什么不能在SELECT语句中使用COLLATE:
SELECT Column1,Column1 COLLATE SQL\u Latin1\u General\u Cp1251\u CS\u AS Column2 FROM table 1
?如何将其作为更新写入?