I know next to nothing about Oracle data types. (Correction: make that "absolutely nothing"). One possibility is to find out what the equivalent conversion syntax in Oracle is and use that in the query you send to the linked server. If the Oracle syntax was exactly identical to MS-SQL syntax (which it probably isn't), then your query would be:SELECT TOP 100 * FROM OPENQUERY(LINKED_ORA, 'SELECT TROUBLEID, dateadd(ss, cast(CREATE_DATE as int), '1970-01-01') as CREATE_DATE, dateadd(ss, cast(MODIFIED_DATE as int), '1970-01-01') as MODIFIED_DATEFROM ORACLE.CLIENT_TROUBLE');GO
The other possibility is to do the conversion on the MS-SQL side. In that case, your query would look like this:SELECT TOP 100 TROUBLEID,dateadd(ss, cast(CREATE_DATE as int), '1970-01-01') as CREATE_DATE,dateadd(ss, cast(MODIFIED_DATE as int), '1970-01-01') as MODIFIED_DATE FROM OPENQUERY(LINKED_ORA, 'SELECT TROUBLEID,CREATE_DATE,MODIFIED_DATE FROM ORACLE.CLIENT_TROUBLE');GO
I know the second query would work. The first query, most likely will not work because of Oracle syntax being different.That the date format is Epoch seconds is a guess on my part. You may want to get more information on the data to make sure that that guess is correct.