Если вы запрашиваете mongotst через SQLServer, вам нужно будет использовать OPENQUERY для каждого запроса, который вы запускаете для mongotst. Кроме того, вы можете вставить запрос во временную таблицу, а затем просто запросить ее из временной таблицы.
выберите * в #M из открытого запроса ([MONGOtst], 'выберите активный, созданный_ат, город, приведение (total_xp AS Decimal (#, #) из content.users')
Я не слишком знаком с MongoDB, но я не верю, что вы можете изменить точность на вашем драйвере ODB C. Кто-то может поправить меня, но драйвер ODB C просто устанавливает соединение и проецирование данных. Не преобразует данные между соединениями.
У меня есть подозрение на использование Integer, поскольку ваш тип данных является одной из ваших проблем, поскольку вы конвертируете из типа данных Decimal. Либо Десятичное число, Numeri c, либо Varchar должны работать для вас. Я предпочитаю преобразовывать тип данных в исходный запрос, а не в подзапрос, но любой из них должен работать. Также выберите тип данных, который лучше всего подойдет для ваших данных.
Выберите CAST (total_xp как varchar (###)) в качестве MTotal_xp, * в #M из открытого запроса ([MONGOtst], выберите активный, создан_ат, город , total_xp от content.users ')
Я уверен, что есть и другие способы go об этом. На прошлой неделе у меня возникли проблемы с аналогичным запросом, и это сработало для меня.