Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не работает операция like в запросе / 12 сообщений из 12, страница 1 из 1
31.07.2018, 10:58
    #39681451
seg856
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает операция like в запросе
Запрос такой:

select t.tapid, isnull(m.family,'') as family, isnull(m.name,'') as name, isnull(m.ot,'') ot, convert(date, isnull(m.date_bd, '01.01.1901')) as date_db, isnull(se.servicemedicalcode,'') as scode,
substring(rtrim(ltrim(isnull(se.ServiceMedicalName,''))),1,250) as sName, isnull(mkb.ds, '') as ds, substring(ltrim(rtrim(isnull(d.DepartmentName,''))),1,30) as DName, isnull(do.FAM_V, '') as fam_v, convert(date, isnull(s.DATE_P,'01.01.1901')) as date_p, substring(isnull(p.NAME,''),1,3) as profit
from r_hlt_TAP as t
inner join r_hlt_SMTAP as s on s.rf_TAPID=t.tapid
inner join r_hlt_mkab as m on m.MKABID=t.rf_MKABID
inner join r_oms_department as d on d.DepartmentId=s.rf_DepartmentID
left join r_hlt_LPUDoctor as do on do.LPUDoctorID=s.rf_LPUDoctorID
inner join r_oms_servicemedical as se on se.servicemedicalId=s.rf_omsservicemedicalId
left join r_oms_kl_ProfitType as p on p.kl_ProfitTypeID=t.rf_kl_ProfitTypeID
left join r_oms_mkb as mkb on mkb.mkbid=s.rf_MKBID
where ((convert (date, s.DATE_P)>@d2 or convert(date,s.date_p)<convert(date,@PrevDate)) and convert(date,t.DateClose)>=@d1 and convert(date,t.DateClose)<=@d2)
and se.servicemedicalname like 'D%'
and t.IsClosed=1

Не выдает ничего

А Запрос в таком виде выдает много строчек, где se.servicemedicalname начинается именно на символ D
select t.tapid, isnull(m.family,'') as family, isnull(m.name,'') as name, isnull(m.ot,'') ot, convert(date, isnull(m.date_bd, '01.01.1901')) as date_db, isnull(se.servicemedicalcode,'') as scode,
substring(rtrim(ltrim(isnull(se.ServiceMedicalName,''))),1,250) as sName, isnull(mkb.ds, '') as ds, substring(ltrim(rtrim(isnull(d.DepartmentName,''))),1,30) as DName, isnull(do.FAM_V, '') as fam_v, convert(date, isnull(s.DATE_P,'01.01.1901')) as date_p, substring(isnull(p.NAME,''),1,3) as profit
from r_hlt_TAP as t
inner join r_hlt_SMTAP as s on s.rf_TAPID=t.tapid
inner join r_hlt_mkab as m on m.MKABID=t.rf_MKABID
inner join r_oms_department as d on d.DepartmentId=s.rf_DepartmentID
left join r_hlt_LPUDoctor as do on do.LPUDoctorID=s.rf_LPUDoctorID
inner join r_oms_servicemedical as se on se.servicemedicalId=s.rf_omsservicemedicalId
left join r_oms_kl_ProfitType as p on p.kl_ProfitTypeID=t.rf_kl_ProfitTypeID
left join r_oms_mkb as mkb on mkb.mkbid=s.rf_MKBID
where ((convert (date, s.DATE_P)>@d2 or convert(date,s.date_p)<convert(date,@PrevDate)) and convert(date,t.DateClose)>=@d1 and convert(date,t.DateClose)<=@d2)
and se.servicemedicalname like '%'
and t.IsClosed=1

Где искать причину?
...
Рейтинг: 0 / 0
31.07.2018, 11:17
    #39681463
CrazHunt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает операция like в запросе
seg856,

вот так попробуйте
Код: sql
1.
and se.servicemedicalname like '%D%'



Если что-то выведется, то значит перед D что-то есть

И отформатируйте код по правилам - глаза сломать можно
...
Рейтинг: 0 / 0
31.07.2018, 11:53
    #39681487
seg856
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает операция like в запросе
CrazHunt, '%D%' тоже не выдает строки.
'%90%' тоже не выдает строки.
...
Рейтинг: 0 / 0
31.07.2018, 11:54
    #39681489
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает операция like в запросе
какого типа ваше поле servicemedicalname в таблице?
...
Рейтинг: 0 / 0
31.07.2018, 12:04
    #39681497
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает операция like в запросе
seg856Где искать причину?

А таки попробуйте кошерное
and se.servicemedicalname like N'D%'
...
Рейтинг: 0 / 0
31.07.2018, 12:05
    #39681499
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает операция like в запросе
seg856,

попробуй тупо
Код: sql
1.
select se.* from r_oms_servicemedical as se where se.servicemedicalname like 'D%'
...
Рейтинг: 0 / 0
31.07.2018, 12:48
    #39681525
seg856
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает операция like в запросе
Konst_One, varchar(500)
...
Рейтинг: 0 / 0
31.07.2018, 12:51
    #39681527
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает операция like в запросе
и в итоге окажется, что там О а не D.... какой collation?
...
Рейтинг: 0 / 0
31.07.2018, 12:52
    #39681528
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает операция like в запросе
'%d%'?
...
Рейтинг: 0 / 0
31.07.2018, 13:24
    #39681547
seg856
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает операция like в запросе
Просто перепутал поля: нужно ServicemedicalCode вместо ServicemedicalName
...
Рейтинг: 0 / 0
31.07.2018, 13:45
    #39681558
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает операция like в запросе
seg856Просто перепутал поля: нужно ServicemedicalCode вместо ServicemedicalName
И только на третий день индеец по прозвищу Зоркий глаз заметил...
...
Рейтинг: 0 / 0
31.07.2018, 13:53
    #39681560
seg856
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает операция like в запросе
Близорукий глаз
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Не работает операция like в запросе / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]