Marklogic SQL93 и сравнение дат - PullRequest
0 голосов
/ 06 ноября 2019

В Marklogic встроен стандарт SQL92, а в документации по MakLogic есть некоторые подробности о функции даты

У меня есть простой запрос для сравнения даты с переданной строковой датой. Но, похоже, нет способа преобразоватьСтрока до даты, встроенной в реализацию Mark92 в SQL92.

Я посмотрел на стандартную функцию, и у нее есть curdate, но она не эквивалентна CAST или CONVERT и не будет принимать аргумент curdate.

select dateStart from namespace.dateTable
where coalesce(dateStart,curdate())> XXX('1 Nov 2019')

Я хочу вернуть все даты после 1 ноября 2019 в этом случае

1 Ответ

0 голосов
/ 08 ноября 2019

Нужно использовать Binding. Благодаря веб-сайту Авалон .

const minYear = xs.date('2019-11-01');

//create a binding with the date being passed as a date
var bindings = {"date": minYear};

//add to the SQL the variable @date
var sqlString = `select * from namespace.table 
where dateStart >= @date limit 100
`;

//execute the sql with third argument the binding
xdmp.sql(sqlString, null, bindings).toArray();
...