Laravel конструктор запросов whereRaw с конвертированием в тип данных, возвращающий разные результаты - PullRequest
0 голосов
/ 20 апреля 2020

Здесь у меня есть два похожих запроса, которые возвращают один и тот же результат, если я вставляю их непосредственно в SMSS:

enter image description here

Но при использовании Laravel ' Построитель запросов Я получаю разные результаты:

//select count(*) from [tbl_rfaccount] where CONVERT(varchar, id) = 'test'
$count = DB::connection('sqlsrv_rf_user')->table('tbl_rfaccount')
  ->whereRaw("CONVERT(varchar, id) = ?", $request->input('username'))
  ->count();
//$count = 1

//select count(*) from [tbl_rfaccount] where id = CONVERT(binary(13), 'test')
$count = DB::connection('sqlsrv_rf_user')->table('tbl_rfaccount')
  ->whereRaw("id = CONVERT(binary(13), ?)", $request->input('username'))
  ->count();
//$count = 0

Почему это так? Я использую Laravel Телескоп, и запросы выглядят точно так же, как те, которые я запускал в SSMS.

Вот как выглядит таблица:

enter image description here

...