Конвертировать 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
Другие вопросы по тегам