有人知道如何删除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
答案 0 :(得分:1)
您可以尝试以下操作:-
DECLARE @n NVARCHAR(max)='00000000-0000-0000-0843-243219876432'
SELECT CAST(REPLACE(@n,'-','') AS NUMERIC(38,0))
-- OR
SELECT CAST(REPLACE(@n,'-','') AS BIGINT)
答案 1 :(得分:0)
您可以尝试使用REGEXP_REPLACE()
select REGEXP_REPLACE('00000000-0000-0000-0843-243219876432', '[0/-]+', '')
答案 2 :(得分:0)
我将REPLACE
与CAST
一起使用。
SELECT CAST(REPLACE('00000000-0000-0000-0843-24321987643','-','') AS unsigned)
如果0
之后有一些24321987643
,它也可以工作。