我有一个包含大量实体的azure表存储,当我使用查询“RowKey le'8888'”查询Rowkey(数据类型为“Double”)小于8888的实体时。我得到了也是那些Rowkey大于8888的实体。
答案 0 :(得分:6)
即使您在RowKey中存储Double
数据类型,它也会存储为String
(PartitionKey
和RowKey
都是字符串数据类型)。因此,您看到的行为是正确的,因为在字符串比较中21086
小于8888
。
您需要做的是通过使用0
预先填充这些字符串来使这两个字符串长度相等(例如,您的RowKey值将为000021086
和000008888
)并且然后,当您执行查询时,将不会返回这些值。