Вы строите ключ сессии как склейку user_id (тип int) и session_id (тип text). Какой вариант корректен для конкатенации в SQL?

Auser_id || '-' || session_id
BCAST(user_id AS int) || '-' || session_id
Cuser_id + '-' || session_id
Duser_id::text || '-' || session_id
Правильный ответ. Для конкатенации строк числовые поля приводят к тексту через CAST или ::text.

Разбор

Оператор || в SQL работает со строками. Если один из операндов — число, его нужно явно привести к тексту: user_id::text или CAST(user_id AS text). Это предотвращает ошибки типов и делает намерение запроса ясным. Вариант с + неверен: в большинстве СУБД + для строк не работает, а в SQL Server он не сможет сложить число и текст.

Проверь себя · 1/3разбор после ответа
В таблице products категория хранится как Books, books, BOOKS. Нужно одним условием в WHERE отобрать все варианты категории «книги». Какой фильтр наиболее надёжен?
Тренировать SQL в Telegram

Ещё вопросы по теме «Строки и приведение типов»