池中的sql查询无法读取哈萨克字母

时间:2018-10-25 06:23:16

标签: r sql-server pool

我正在研究一种工具,该工具会将数据从SQL Server数据库上载到R,并且会花一些心血。由于存在一个事实,因此我正在使用Pool包加入多个数据源。我遇到一个问题,当我用哈萨克字母查询对象时,它不起作用。 这是代码示例

poolDash <- dbPool(
         drv = odbc::odbc(),
         Driver = "ODBC Driver 17 for SQL Server",
         Database = "database",
         Server = "server",
         UID = "user",
         PWD = "password")
 data <- pool::dbGetQuery(poolDash, "SELECT * from database 
                                     where ObjectName in ('Мәңгілік')")

使用ObjectName而不使用哈萨克字母的相同查询效果很好。

欢迎任何帮助。预先谢谢你

更新:我已经看到许多建议,建议列应为大小有限的nvarchar类型,例如nvarchar(100)。它已经是nvarchar(100)了,它可以帮助我使用俄语字母,但不能使用哈萨克语。

在此特定示例中,哈萨克字母是“әң”,secon和第三个字母。

1 个答案:

答案 0 :(得分:2)

您可以尝试获取带有N前缀的数据。

"SELECT * from database 
         where ObjectName in (N'Мәңгілік')"