我想从我的字段description
有人可以提供一些建议吗?
整个字符串是'Version100][BuildNumber:666][SubBuild:000]'
,内部版本号是我要挑出来的(但数字可能会改变)。
我已尝试SUBSTRING
与CHARINDEX
,但我似乎无法弄明白。
我一直在谷歌搜索大约30分钟,我似乎无法解决它。
答案 0 :(得分:1)
不久,但你可以做到这一点。
List<DateTime> l = new List<DateTime>();
DateTime x = l.DefaultIfEmpty().Max();
x.Dump();
var y = new DateTime();
y.Dump();
l.DefaultIfEmpty().Dump();
答案 1 :(得分:0)
希望此查询可以返回您的预期结果,而无需对内部版本号进行硬编码:
DECLARE @Description AS VARCHAR (500) = 'Version100][BuildNumber:6663211][SubBuild:000]';
DECLARE @BeforeString AS VARCHAR (100) = '[BuildNumber:';
DECLARE @BeforeStringPosition AS INT = CHARINDEX(@BeforeString, @Description);
SELECT SUBSTRING(@Description, @BeforeStringPosition + LEN(@BeforeString) , CHARINDEX('][SubBuild', @Description) - @BeforeStringPosition - LEN(@BeforeString));
答案 2 :(得分:0)
我还没有真正测试过这个(数字偏移可能有点偏,但你可以调整它们),但假设字符串格式总是相同的,那么无论数字位数如何,以下都应该有效在内部版本号。
x - 1
答案 3 :(得分:0)
你可以试试这个:
SELECT SUBSTRING([description],CHARINDEX('BuildNumber:',[description])+12,
CHARINDEX(']',[description], CHARINDEX('BuildNumber:',[description]))
-(CHARINDEX('BuildNumber:',[description])+12))
FROM YOURTABLE