2012-05-17 7 views
0

Один из столбцов (id) в пользовательском объекте Salesforce является строковым типом, хотя он всегда содержит значения длинного типа. Я хочу запустить запрос примерно так.Использование сравнения в строках в SOQL

Где id> = '123' и id < = '123456';

Есть ли решение для этого? Невозможно изменить тип данных столбца в Salesforce.

ответ

3

преобразование типов данных невозможно как часть синтаксиса SOQL. Вам нужно будет вернуть полный набор результатов и фильтровать результаты. Или, если вы не можете изменить тип данных, возможно, вы можете использовать поле формулы или обновление рабочего процесса, чтобы скопировать поле в скрытое поле, на которое вы можете выполнить запрос больше, чем меньше. Это не лучшая практика, но это идея, если вы действительно застряли в решении.

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

-1

если ваш идентификатор всегда содержат длинные значения типа, то вы можете использовать следующую команду, где пункт

WHERE CONVERT(BIGINT, id) BETWEEN 123 AND 123456 

Однако это вызовет ошибку, если ваш ID не числовое значение

+0

Эта функция 'Convert' поддерживается в SOQL? Я пытаюсь в Force.com explorer, но кажется, что он не работает. – RandomQuestion

+0

Я не уверен в SOQL, но вы можете сослаться на [этот пост] (http://stackoverflow.com/questions/5915584/soql-type-conversion-salesforce-com) – Nick

Смежные вопросы