Как сравнить, если поле начинается с буквы или цифры - PullRequest
0 голосов
/ 08 июля 2019

Я бы хотел сравнить, если поле начинается с буквы или цифры.

Example.

Location.
234848383
664646663
322327772
678862622
HONDURAS
272828833
BRAZIL
PANAMA
UNITED KINGDOM
232332222

Это мой текущий запрос

SELECT
    dateho.UnitSysId,
    tempvehi.LicencePlate as Economico,
    case when SUBSTRING(prm_dcs.Tipo,1,1) in (1,2,3,4,5,6,7,8,9,0) then 'Heavy' else 'Not heavy' end as Tipo,
            ROUND((dateho.MaxHorasUsoAcumulada - (dateho.MinHorasUsoAcumulada - dateho.MinHorasUso)), 2) as HorasDeUsoMotorPrd
    into #final_table
FROM
    #DatosOdoHoro dateho INNER JOIN #tmpVehiclesAllAccount tempvehi ON dateho.UnitSysId = tempvehi.UnitSysId
                         INNER JOIN PRM.dbo.[prm_DetalleCamiones_Sabana_Estandar] prm_dcs on dateho.UnitSysId = prm_dcs.UnitSysId --AND prm_dcs.UnitSysId= 272729870
ORDER BY
    UnitSysId

Можете ли вы мне помочь, пожалуйста?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 июля 2019
SELECT
    dateho.UnitSysId,
    tempvehi.LicencePlate as Economico,
    case when (prm_dcs.Tipo like '[0-9]%') then 'Heavy' else 'Not heavy' end as Tipo,
            ROUND((dateho.MaxHorasUsoAcumulada - (dateho.MinHorasUsoAcumulada - dateho.MinHorasUso)), 2) as HorasDeUsoMotorPrd
    into #final_table
FROM
    #DatosOdoHoro dateho INNER JOIN #tmpVehiclesAllAccount tempvehi ON dateho.UnitSysId = tempvehi.UnitSysId
                         INNER JOIN PRM.dbo.[prm_DetalleCamiones_Sabana_Estandar] prm_dcs on dateho.UnitSysId = prm_dcs.UnitSysId --AND prm_dcs.UnitSysId= 272729870
ORDER BY
    UnitSysId
0 голосов
/ 08 июля 2019

Если вы просто пытаетесь определить, начинается ли строка с цифры, тогда

case when SUBSTRING(prm_dcs.Tipo,1,1) in (1,2,3,4,5,6,7,8,9,0) then 'Heavy' else 'Not heavy' end as Tipo

можно записать как:

case when prm_dcs.Tipo like '[0-9]%' then 'Heavy' else 'Not heavy' end as Tipo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...