首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure中的表查询

Azure中的表查询
EN

Stack Overflow用户
提问于 2015-06-26 05:16:10
回答 1查看 110关注 0票数 0

表查询期间的筛选字符串如下所示.

代码语言:javascript
复制
string FilterString = string.Format("PartitionKey eq '{0}' 
and RowKey ge '{1}' and RowKey le '{2}'", 
partitionKey, startsWith, startsWith);

https://msdn.microsoft.com/library/azure/dd894031.aspx说你可以对名字做前缀匹配。假设有三个名字..。

  • 蝙蝠侠
  • 超人
  • 蜘蛛侠

当我将startsWith设置为's‘时,我希望查询同时返回超人和蜘蛛侠。

当我说上面的查询起作用时

代码语言:javascript
复制
RowKey ge 's' and Rowkey le 't'

不过,我希望它能奏效,因为它说.

代码语言:javascript
复制
RowKey ge 's' and Rowkey le 's'

le被视为、lt、和IMHO --它不应该这样做。我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-26 06:18:19

如果您想要返回supermanspiderman (不确定DC & Marvel Comics如何同意这一点,但这是另一个故事:),那么您要发出的查询是:

代码语言:javascript
复制
RowKey ge 's' and Rowkey lt 't'

现在让我们考虑一下这个查询:

代码语言:javascript
复制
RowKey ge 's' and Rowkey le 's'

基本上,此查询将只返回RowKey eq s中的数据。要举一个例子,请考虑superman。现在,superman肯定大于s,所以您的第一个表达式(RowKey ge 's')是true,但同时,第二个表达式(Rowkey le 's')是false,所以整个表达式的结果将是false

更新

要测试字符串,只需编写一个控制台应用程序,如下所示:

代码语言:javascript
复制
        string a = "s";
        string b = "superman";
        string c = "sz";
        Console.WriteLine(b.CompareTo(a));//Prints 1
        Console.WriteLine(b.CompareTo(c));//Prints -1

从上面可以看出,superman大于s,小于sz

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31065444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档