Need help conveting this from Mysql to SQL server

  • Select * from openquery([connection],'

    -- Forum Messages by User

    use databasebname;

    select u.name, convert_tz(from_unixtime(m.modificationDate/1000),'+00:00','-08:00') as TimePST, m.subject, m.body, m.messageID, f.forumID, f.name

    from jiveMessage m inner join

    jiveUser u on m.userID = u.userID inner join

    jiveForum f on m.forumID = f.forumID

    where from_unixtime(m.modificationDate/1000) > date_sub(now(), interval 1 week)

    and u.name like 'Luke'

    order by m.modificationDate desc ')

    The error I am getting is:

    Msg 102, Level 15, State 1, Line 5

    Incorrect syntax near '+'.

    Any help would be awesome.

  • Single quotes within single quotes may be causing issues. Try this instead:

    select *

    from openquery([connection], '

    -- Forum Messages by User

    use databasebname;

    select u.name, convert_tz(from_unixtime(m.modificationDate/1000),''+00:00'',''-08:00'') as TimePST, m.subject, m.body, m.messageID, f.forumID, f.name

    from jiveMessage m inner join

    jiveUser u on m.userID = u.userID inner join

    jiveForum f on m.forumID = f.forumID

    where from_unixtime(m.modificationDate/1000) > date_sub(now(), interval 1 week)

    and u.name like ''Luke''

    order by m.modificationDate desc ')

    The absence of evidence is not evidence of absence
    - Martin Rees
    The absence of consumable DDL, sample data and desired results is, however, evidence of the absence of my response
    - Phil Parkin

  • Perfect - now getting

    Duplicate column names are not allowed in result sets obtained through OPENQUERY and OPENROWSET. The column name "name" is a duplicate.

    Owh the joys of mySQL and MSSQL....

    ** No need for a reply to this just passing comment... ranting really.

    Thanks for the help!

  • Brad Marsh (12/18/2012)


    Perfect - now getting

    Duplicate column names are not allowed in result sets obtained through OPENQUERY and OPENROWSET. The column name "name" is a duplicate.

    Owh the joys of mySQL and MSSQL....

    ** No need for a reply to this just passing comment... ranting really.

    Thanks for the help!

    Presume you got this sorted via use of column aliases on the 'name' columns?

    The absence of evidence is not evidence of absence
    - Martin Rees
    The absence of consumable DDL, sample data and desired results is, however, evidence of the absence of my response
    - Phil Parkin

  • dont forget to use

    dateadd(s, 875996580, '1/1/1970') for from_unixtime.

    convert_tz function does not exist in sql server so best bet is using aux table or datetimeoffset datatype.

    Alex S
  • Phil I used as xxx, that did the trick.

    In relation to the convert, it actually did work. I thought this would work as my perception of running a linked server to MySQL still means I am making the query on MySQL directly.

    My use case is j need to pull metrics and when I try and import the database into execl it crashes so I had to link the server and use SQL server to prevent a crash.

  • In relation to the convert, it actually did work. I thought this would work as my perception of running a linked server to MySQL still means I am making the query on MySQL directly.

    Correct.

    The absence of evidence is not evidence of absence
    - Martin Rees
    The absence of consumable DDL, sample data and desired results is, however, evidence of the absence of my response
    - Phil Parkin

Viewing 7 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply