如何在Microsoft Log Parser查询中转义通配符?

时间:2015-12-08 09:21:36

标签: escaping logparser

如何在logparser LIKE条件中提供转义字符?

当前查询:

SELECT EXTRACT_TOKEN(cs-uri-stem,1,'/') AS AppPath, Count(*) AS ReqCount
FROM <MyLogFile> 
WHERE AppPath LIKE '%_%'

示例数据:

+-------------+
| cs-uri-stem |
+-------------+
| 120_ABC     |
| 321_XYZ     |
| 11_BXY      |
| ALPHA       |
| BETA        |
+-------------+

从上面的数据中,我想只过滤包含下划线的行。

我在SQL中尝试了常用的转义选项,例如angle brackets [_]LIKE '%_%' ESCAPE '\' clause,但它们没有帮助。

1 个答案:

答案 0 :(得分:2)

从Logparser帮助文件:

  

通配符模式匹配字符可用作文字字符。要将通配符用作文字字符,请使用&#39; \&#39;转义通配符。 (反斜杠)字符。
  例子:
  喜欢&#39; ab_d&#39;:匹配&#34; ab_d&#34;字符串(例如&#34; ab_d&#34;,&#34; AB_d&#34;)
  LIKE&#39; a \%c%&#39;:匹配以&#34; a%c&#34;开头的所有字符串。 (例如&#34; a%cdefg&#34;,&#34; A%c&#34;)

您的查询应如下所示:

SELECT EXTRACT_TOKEN(cs-uri-stem,1,'/') AS AppPath, Count(*) AS ReqCount
FROM <MyLogFile> 
WHERE AppPath LIKE '%\_%'