Перейти к основному содержимому

Функции конвертации значений разных типов в строку в языке запросов

В языке запросов доступны функции для конвертации значений различных типов в тип Строка. Значения, приведенные к типу Строка, затем можно использовать в выражениях внутри самого запроса.

Список методов, которые можно использовать для представления различных типов в виде строки:

  • ВСтроку(),
  • Представление(),
  • Представление(Формат: Строка) (если тип, к которому применяется метод, является наследником типа Форматируемое).

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

Список типов, к которым можно применять методы конвертации в строку:

  • Null (при попытке представить в виде строки будет возвращено Null),
  • Неопределено,
  • Булево,
  • Число,
  • Длительность,
  • Дата,
  • Время,
  • ДатаВремя,
  • Момент,
  • Строка,
  • Байты,
  • Ууид.

Чтобы преобразовать в строку примитивный тип Тип, применяется метод ВСтроку().

Пример

Имеется справочник «ИнформационныеСистемы». Элементы справочника хранятся в виде записей в одноименной таблице языка запросов. Нас интересуют три поля данной таблицы: Наименование, ДатаПодключения и КодРегиона:

  • Поле Наименование имеет тип Строка;
  • Поле ДатаПодключения имеет тип Дата;
  • Поле КодРегиона имеет тип Число.

Задача состоит в том, чтобы в результате запроса получить поле следующего вида:

Участники
"Участник Наименование от ДатаПодключения из региона КодРегиона"
...

Для этого следует выполнить следующий запрос:

ВЫБРАТЬ
"Участник " +
Инфосистемы.Наименование + " от " +
Инфосистемы.ДатаПодключения.Представление("дд.ММ.гг") + " из региона " +
Инфосистемы.КодРегиона.ВСтроку() + КАК Участники
ИЗ
ИнформационныеСистемы КАК Инфосистемы

Результат:

Участники
"Участник от 17.01.21 из региона 16"
"Участник от 23.01.21 из региона 23"
...
"Участник от 18.08.21 из региона 99"