p4sql и конкатенация в запросе - PullRequest
0 голосов
/ 07 декабря 2011

Я недавно начал использовать p4sql из P4Report, и он прекрасно работает, за исключением того, что мои результаты возвращаются без пробелов между полями в нескольких запросах.В этом нет ничего сложного, если я могу добавить символ в конец каждого поля, чтобы разбить его на этот символ, но я не получаю никаких данных после объединения символов между моими полями.

Вот пример запроса, который работает, но оставляет результаты вне моих результатов, поэтому я не могу разделить различные поля в каждой возвращаемой строке:

            $cmd = "C:\\\"Program Files\"\Perforce\P4Report\p4sql -u test -P 42B3ABC#################### -s \"select client, description, host from clients where description like '%: ".$area."%' \"";
        exec($cmd, $output);

Вот что я пытаюсь сделать, чтобы добавитьЧар, чтобы сломаться.Это прекрасно работает в SQL, но не через p4sql, есть идеи?

$cmd = "C:\\\"Program Files\"\Perforce\P4Report\p4sql -u test -P 42B3ABC#################### -s \"select client+'||'+description+'||'+host from clients where description like '%: ".$area."%' \"";
        exec($cmd, $output);

Вышеприведенное возвращает ноль для каждой строки: Array ([0] => [1] => (expr) [2] => ====== [3] => NULL [4] => NULL [5] => NULL [6] => NULL [7] => NULL [8] => NULL [9] => NULL [10] => NULL [11] => NULL [12] => NULL)

1 Ответ

1 голос
/ 07 декабря 2011

Разобрался - p4sql использует синтаксис sql92. Мне было 7 лет в 92 году.

Вот правильный синтаксис:

$cmd = "C:\\\"Program Files\"\Perforce\P4Report\p4sql -u test -P 42B3ABC#################### -s \"select client||' '||description, host from clients where description like '%: ".$area."%' \"";
    exec($cmd, $output);
...