Search code examples
sql-servercastingsubstringpatindex

convert varchar to int in select statement using patindex


My query is for convert varchar into string,

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

In my below query i have an error "Incorrect syntax near the keyword 'AS'."

I want to convert string to integer.

Any Help?


Solution

  • Possible this helpful for you -

    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