gpt4 book ai didi

sql - 在 SQL 中选择西里尔字符

转载 作者:行者123 更新时间:2023-12-04 20:19:48 27 4
gpt4 key购买 nike

当用户将俄语单词“пример”插入数据库时​​,数据库将其保存为“??????”。如果他们用“N”字母插入或者我用“N”字母选择它,即; exec Table_Name N'иытание' 没有问题。但是我不想在每个查询中都使用 'N',所以有什么解决方案吗?顺便说一下,我将使用存储过程。

更新:

现在我可以使用带有alter collat​​ion 的俄语字母。但是我不能改变每种语言的排序规则,我只想了解是否有任何触发器或函数可以在添加文本后在文本前自动添加 N。 IE;当我插入 'пример' 时,SQL 应该自动将它当作 N'пример' 。

最佳答案

您必须使用列的数据类型 NVARCHAR要插入 unicode 字母,您还必须使用 N'value'插入时。

您可以通过以下方式对其进行测试:

CREATE TABLE #test
(
varcharCol varchar(40),
nvarcharCol nvarchar(40)
)
INSERT INTO #test VALUES (N'иытание', N'иытание')

SELECT * FROM #test

输出
varcharCol  nvarcharCol
??????? иытание

如您所见,数据类型列 varchar返回问号 ??????和数据类型列 nvarchar返回俄文字符 иытание .

更新

问题是您的数据库整理不支持俄语字母。
  • 在对象资源管理器中,连接到 SQL Server 数据库引擎的实例,展开该实例,然后展开数据库。
  • 右键单击所需的数据库,然后单击“属性”。
  • 单击选项页面,然后从排序规则中选择一个排序规则
    下拉列表。
  • 完成后,单击“确定”。

  • MORE INFO

    关于sql - 在 SQL 中选择西里尔字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32350950/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com