【问题标题】:Unable to search with underscore '_' using odata startswith function无法使用 odata startswith 函数搜索下划线“_”
【发布时间】:2014-12-29 18:51:21
【问题描述】:

我有一个查询,结果如下:

..?$filter=startswith(COLUMN_NAME,"SomeValue_") eq true

当它被我的查询引擎翻译时,SQL 是这样创建的:

SELECT * FROM TABLE WHERE COLUMN_NAME LIKE 'SomeValue_'

如你所见,它把 '_' 当作一个占位符,就像任何 SQL 一样,否则正确的查询应该是这样的:

SELECT * FROM TABLE WHERE COLUMN_NAME LIKE 'SomeValue\_' ESCAPE '\'

那么,如何在 ODATA 中指定下划线“_”应在我的查询引擎中被视为字符而不是占位符?或者我可以在 ODATA 中指定来转义这个下划线吗?我尝试用它的十六进制值对其进行编码,它不起作用。

谢谢!

【问题讨论】:

  • 2020年我也面临这个问题,找不到解决办法。如果有人可以指出正确的方向,请!
  • @BhaveshDiwan 对不起,我不记得我最后做了什么,已经很久了。我认为我没有找到任何解决方案!如果您找到了,请在此处发布。

标签: sql filter odata


【解决方案1】:

我认为下面的链接会对你有所帮助。

Link

【讨论】:

  • 我已经说过了。您共享的链接显示了如何通过 SQL 执行此操作,我在问题中已经提到过。我需要通过 ODATA 执行此操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-04
  • 2014-09-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多