SQL LEFT和patindex

时间:2017-05-03 19:14:23

标签: sql sql-server patindex

我正在尝试编写一个选择查询,该查询取消前导零并取出所有非数字字符。我想出了如何在同一时间做两个或两个都没有。

到目前为止,我有:

SELECT 
    Substring(rt_VehicleName, patindex('%[^0]%', rt_VehicleName), +4),
    [rt_Odometer],
    [rt_CumHours],
    [Date],
    [Emco] 

FROM 
    [GPS_Data].[dbo].[Engine_Hours] 

结果是28 S.我想摆脱S

1 个答案:

答案 0 :(得分:0)

这个查询看起来过于复杂,但它适用于我的数据。

select top 10 SUBSTRING(LEFT(SUBSTRING([Your Column Here], PATINDEX('%[0-9.-]%', [Your Column Here]), 8000), PATINDEX('%[^0-9.-]%', SUBSTRING([Your Column Here], PATINDEX('%[0-9.-]%', [Your Column Here]), 8000) + 'X') -1), PATINDEX('%[^0]%', [Your Column Here]+'.'), LEN([Your Column Here])) as 'No 0s or Letters', * from [Your Table Here]

enter image description here