У меня есть поле в нашей базе данных SQL, помеченное как результат-ответ. В этом поле приведены результаты и любые примечания к ним. Я нашел логику для извлечения чисел из поля, но я не могу преобразовать их в числовые. В качестве посреднической программы мы используем Precision BI.
Я пытаюсь вытащить только те, которые имеют значение меньше 7. У меня есть только числа, использующие строку, которая извлекает только числа из полей.
Left(SubString([result].[resultanswer], PatIndex('%[0-9.-]%', [result].
[resultanswer]), 8000), PatIndex('%[^0-9.-]%', SubString([result].[resultanswer],
PatIndex('%[0-9.-]%', [result].[resultanswer]), 8000) + 'X')-1)
Однако, когда я добавляю запрос, чтобы отобразить только те числа, которые меньше 7, я получаю ошибку преобразования, чаще всего по типу «невозможно преобразовать varchar в числовое значение». Если я выполню поиск без запроса меньше 7, он будет работать нормально и отображать только цифры в этом поле. Если я добавлю поле, чтобы показать, является ли это поле числовым, оно отображает 1 или да для всех из них. Я могу взять и преобразовать значения в числовые через функцию преобразования или функцию приведения (добавление преобразования или приведения к началу вышеуказанной строки), но как только я добавляю менее 7 критериев, он говорит, что не может преобразовать хотя это было до добавления критериев. Все это не имеет смысла.
Вот пример данных.
result-numericresult result-resultanswer result-numeric
9.23 9.23 9.23
.00 9.24 9.24
.00 9.24 Result Repeated 9.24
.00 9.25 9.25
9.25 9.25 9.25
Как вы видите, у меня есть поле результата (называемое numericresult), в котором уже есть цифры, проблема в том, что программа, передающая данные в БД, отправляет нули вместо фактических значений. У меня также есть поле для ответа на результат (называемое resultanswer), которое дает мне цифры, но также содержит текст. Цель состояла в том, чтобы в основном заменить поле числового результата реальным полем числового результата, которое не имеет нулей, когда этого не должно быть. Таким образом, строка для извлечения чисел из поля resultanswer. Последний столбец (называемый числовым) - это настраиваемое поле, которое извлекает числа из поля resultanswer и поля, которое я пытаюсь измерить. Так что эти значения меньше 7.
Я прошу прощения за то, что не включил эту информацию в исходное сообщение, но у нас был сильный шторм и огни мерцали. Так что вместо того, чтобы потерять то, что у меня было, я пошел дальше и написал.