【问题标题】:Android - no such collation sequence: SQL_Latin1_General_CP1_CI_ASAndroid - 没有这样的排序规则:SQL_Latin1_General_CP1_CI_AS
【发布时间】:2014-06-01 12:53:19
【问题描述】:

我正在开发一个需要使用以下查询的 android 应用程序,

SELECT distinct AttributeValue.AttributeValueName as InventoryId
    ,WorkFlowTransaction.WorkFlowTransId
    ,Client.ClientName
    ,Project.ProjectName
    ,Product.ProductName 
FROM WorkFlowTransaction 
JOIN AttributeValue 
    ON WorkFlowTransaction.WorkflowTransId = AttributeValue.WorkflowTransId 
JOIN Attribute 
    on Attribute.AttributeId = AttributeValue.AttributeId 
JOIN Product 
    on Product.ProductId = WorkFlowTransaction.ProductId 
JOIN Client 
    ON Client.ClientID=WorkFlowTransaction.ClientId 
JOIN Project 
    on Project.ProjectID=WorkFlowTransaction.ProjectId 
where AttributeValue.AttributeValueName 
    COLLATE SQL_Latin1_General_CP1_CI_AS not in (
                                 Select LocationId 
                                 from BarcodeDetails 
                                             ) 
    and Attribute.AttributeName = 'Inventory Id'
    and WorkFlowTransaction.ClientId = 2 
    and WorkFlowTransaction.ProjectId = '44' 
    and WorkFlowTransaction.ProductId = '47' 
    and Attribute.IsDeleted ='0' 
    and AttributeValue.IsDeleted ='0' 
    and WorkFlowTransaction.IsDeleted = '0'

此查询在 SQL-Server 中运行良好。但在 android 中引发了 no such collation sequence: SQL_Latin1_General_CP1_CI_AS 异常。
请帮助我给出您的想法或解决方案。

【问题讨论】:

  • 你期待什么?它是 mssql(不是 sqlite)特定的排序规则。
  • 我想要一个在android中运行的同等产品
  • 你为什么需要它?

标签: java android sql-server sqlite


【解决方案1】:

要了解排序规则是什么,请参阅以下问题:What does 'COLLATE SQL_Latin1_General_CP1_CI_AS' do?

  1. latin1 使服务器使用 charset latin 1 处理字符串,基本上是 ascii
  2. CI 不区分大小写的比较,因此 'ABC' 将等于 'abc'
  3. AS 区分重音,所以 'ü' 不等于 'u'

在 SQLite 中没有直接替代它,Android SQLite 不公开安装您自己的自定义排序规则所需的 API。

根据您的数据和要求,您可以使用纯 COLLATE NOCASE 足够接近,它适用于 ASCII 字符,但不适用于完整的 Latin1 字符集。

【讨论】:

    猜你喜欢
    • 2020-06-09
    • 2012-03-08
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 2015-09-11
    • 2016-05-28
    相关资源
    最近更新 更多