Sys.sleep () не будет работать, если использование ЦП очень велико; как и в других критических высокоприоритетных процессах (параллельно).
Этот код работал для меня. Здесь я печатаю от 1 до 1000 с интервалом 2,5 секунды.
for (i in 1:1000)
{
print(i)
date_time<-Sys.time()
while((as.numeric(Sys.time()) - as.numeric(date_time))<2.5){} #dummy while loop
}
Вам просто нужно добавить этот код
SELECT [Codel],
case WHEN (CHARINDEX('.',[Codel]) > 0) then
CONCAT(PARSENAME([Codel], 1), '-',
PARSENAME([Codel], 2), '-',
PARSENAME([Codel], 3), '-',
PARSENAME([Codel], 4))
else [Codel] end
true_template
FROM [TestDB].[dbo].[CodelTbl]
Вот как вы можете разделить вашу строку на основе "." и используйте значения отдельно:
create table #temp (rn int identity(1,1), num int)
Declare @products varchar(200) = '119.305.1983984.1'
Declare @individual varchar(20) = null
WHILE LEN(@products) > 0
BEGIN
IF PATINDEX('%.%', @products) > 0
BEGIN
SET @individual = SUBSTRING(@products,
0,
PATINDEX('%.%', @products))
insert into #temp
SELECT @individual
SET @products = SUBSTRING(@products,
LEN(@individual + '.') + 1,
LEN(@products))
END
ELSE
BEGIN
SET @individual = @products
SET @products = NULL
insert into #temp
SELECT @individual
END
END
select * from #temp
Ссылка: Как разделить строку, чтобы получить доступ к элементу x?