Вы строите ключ сессии как склейку 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 он не сможет сложить число и текст.

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Продолжить в браузере

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