Удалить черточки и начальные нули из строки - PullRequest
0 голосов
/ 03 октября 2018

Кто-нибудь знает, как удалить нули и тире в хранимой процедуре MySQL.Я хочу конвертировать 00000000-0000-0000-0843-243219876432 в 843243219876432.

ALTER PROCEDURE [dbo].[SendDistance]
@DeviceImei VARCHAR(50),
@Distance VARCHAR(MAX),
@DateTime VARCHAR(MAX)
AS 
BEGIN 
 insert into dbo.Location values (
 @DeviceImei,
 0  ,
 0,
 @Distance,
 @DateTime  
 )
 select REPLACE(@DeviceImei,'0','') From dbo.Device where @DeviceImei = Imei



end

Ответы [ 3 ]

0 голосов
/ 03 октября 2018

Я бы использовал REPLACE с CAST int.

SELECT CAST(REPLACE('00000000-0000-0000-0843-24321987643','-','')  AS unsigned)

, если есть некоторые 0 после 24321987643, это также может работать.

0 голосов
/ 03 октября 2018

Вы можете попробовать это: -

DECLARE @n NVARCHAR(max)='00000000-0000-0000-0843-243219876432'

SELECT CAST(REPLACE(@n,'-','') AS NUMERIC(38,0))
                      -- OR
SELECT CAST(REPLACE(@n,'-','') AS BIGINT)
0 голосов
/ 03 октября 2018

Вы можете попробовать с REGEXP_REPLACE ()

select REGEXP_REPLACE('00000000-0000-0000-0843-243219876432', '[0/-]+', '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...