Конвертировать varchar в int в операторе select, используя patindex
Мой запрос для преобразования varchar в строку,
select top(5)'Insert into jobs(minexperience,maxexperience)values('+
cast(substring(Experience as varchar(50)),0,patindex('%to%',Experience))*365*24*60*60,
cast(substring(Experience as
varchar(50)),patindex('%to%',Experience)+2,patindex('%Years%',Experience)-patindex('%to%',Experience)-2)*365*24*60*60+')'
from requirementsdetailsfororganization
В моем запросе ниже у меня есть ошибка "Неверный синтаксис рядом с ключевым словом" AS "."
Я хочу преобразовать строку в целое число.
Любая помощь?
1 ответ
Решение
Возможно, это полезно для вас -
SELECT TOP(5) 'INSERT INTO dbo.jobs(minexperience,maxexperience) VALUES(' +
CAST(SUBSTRING(
CAST(r.Experience AS VARCHAR(50))
, 0
, r.ToExperience) * 31536000
AS VARCHAR(50))
+ ',' +
CAST(SUBSTRING(
CAST(r.Experience AS VARCHAR(50))
, r.ToExperience + 2
, patindex('%Years%', r.Experience) - r.ToExperience - 2) * 31536000
AS VARCHAR(50))
+')'
FROM (
SELECT
r.Experience
, ToExperience = PATINDEX('%to%', r.Experience)
FROM dbo.requirementsdetailsfororganization r
) r