如何从SQL Server中删除扩展ASCII字符
因此,尝试删除所有扩展ascii字符,并在ddl中使用排序规则SQL_Latin1_General_CP1253_CI_AI,但仍然获得ascii字符。有什么建议吗如何从SQL Server中删除扩展ASCII字符,sql,sql-server,ascii,collation,non-ascii-characters,Sql,Sql Server,Ascii,Collation,Non Ascii Characters,因此,尝试删除所有扩展ascii字符,并在ddl中使用排序规则SQL_Latin1_General_CP1253_CI_AI,但仍然获得ascii字符。有什么建议吗 我在sql中有一个值存储为'accõrd',我希望它存储为accord。当我尝试选择ccõrd collate SQL_Latin1_General_CP1253_CI_AI时,它可以工作,但当我加载它时,它仍然会被加载为ccõrd,这里有两种方法来实现您想要做的事情 第一种方法:使用特定排序规则定义列,例如: 创建表dbo.Foo
我在sql中有一个值存储为'accõrd',我希望它存储为accord。当我尝试选择ccõrd collate SQL_Latin1_General_CP1253_CI_AI时,它可以工作,但当我加载它时,它仍然会被加载为ccõrd,这里有两种方法来实现您想要做的事情 第一种方法:使用特定排序规则定义列,例如: 创建表dbo.Foo FooName varchar50校对SQL\u拉丁1\u通用\u CP1253\u CI\u AI ; 插入dbo.Foo FooName值'accõrd'; 从dbo.Foo中选择FooName; 这将产生:
FooName
-------
accord
BarName
-------
accord
第二种方法:在将文本插入表格时对其进行整理:
-显示安装过程中配置的SQL Server实例的默认排序规则。
-例如:SQL\u拉丁语\u通用\u CP1\u CI\u AS
选择serverproperty'collation'作为ServerCollation;
-显示在“创建数据库”中配置的当前数据库的默认排序规则。
-例如:SQL\u拉丁语\u通用\u CP1\u CI\u AS
选择排序规则名称
从sys.databases
其中,[name]=db_name;
创建表dbo.Bar
BarName varchar50-数据库默认值:将SQL\u Latin1\u General\u CP1\u CI\u整理为
;
插入dbo.Bar BarName值“accõrd”对照SQL拉丁语通用CP1253 CIúAI;
从dbo.Bar中选择BarName;
这将产生:
FooName
-------
accord
BarName
-------
accord
注意:这些排序技巧仅适用于char和varchar数据类型。请提供详细的说明和完整的说明,说明您正在做什么,困难是什么如果您试图删除非ASCII字符,为什么仍然有ASCII字符是个问题?请使用一些示例数据、您尝试使用的代码、实际结果和预期结果编辑您的问题。编辑问题。谢谢@总是学习