我已经在表格中的列如FurnaceRunno(GM15-737)。所以,我想在FurnaceRunno中做一个减号。如何在字符串中执行sql
输出应该来是这样的:(减去一个值,固定每furnacerunno)
FurnaceRunno :GM15-737
output :GM15-736
我已经在表格中的列如FurnaceRunno(GM15-737)。所以,我想在FurnaceRunno中做一个减号。如何在字符串中执行sql
输出应该来是这样的:(减去一个值,固定每furnacerunno)
FurnaceRunno :GM15-737
output :GM15-736
select SUBSTRING(FurnaceRunno, 0, charindex('-', FurnaceRunno, 1)) + '-'
+ CONVERT(varchar(50), CONVERT(INT, SUBSTRING(FurnaceRunno, charindex('-', FurnaceRunno, 1) + 1, len(FurnaceRunno))) - 1)
FROM mytable
试试这个
declare @mytext varchar(10) = 'GM15-736'
declare @prefix varchar(2) = left(@mytext,2)
select @prefix + cast(replace(replace(@mytext,'-','0'),@prefix,'') + 1 as varchar(10))
尝试这些疑问 -
-- Query 1:
DECLARE @Result INT
SET @Result = CAST(RIGHT('GM15-737', 3) AS INT) - 1
SELECT REPLACE('GM15-737', SUBSTRING('GM15-737', 6, 3), CAST(@Result AS
VARCHAR))
-- Query 2:
DECLARE @Result1 INT, @OutputString VARCHAR(255)
SET @Result1 = CAST(SUBSTRING(REPLACE('GM15-737', '-', ''), 3, 5) AS INT) - 1
SET @OutputString = CONCAT('GM', CAST(@Result1 AS VARCHAR(255)))
SET @OutputString = STUFF(CAST(@OutputString AS VARCHAR(255)), 5, 0, '-')
PRINT @OutputString
不要忘记标记为答案请如果它帮助你解决你的答案。 :)
提示..用0替换“ - ”,然后排除“GM”,然后-1然后附加“GM”回 – maSTAShuFu