[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 974
  • Last Modified:

How to format the oracle date to get the YYMMDD from SQLSERVER

I have the below query and I'm trying to get the results from Oracle database using
linked server in Sqlserver. I'm trying to use the to_date function to get the YYMMDD
format but I'm getting the below error. Please let me know how to get full date.

ERROR:

An error occurred while preparing a query for execution against OLE DB provider 'MSDAORA'.
[OLE/DB provider returned message: ORA-00904: "MMYYDD": invalid identifier
]
OLE DB error trace [OLE/DB Provider 'MSDAORA' ICommandPrepare::Prepare returned 0x80040e14].


MY QUERY:

SELECT *
FROM OPENQUERY (GL_PROD_WRITE, 'SELECT Invoice_Number, Billed_Road, Invoice_Date, Rptg_Mk, Car_Num, Ref_Document, Repairing_Party, Currency, Detail_Source,
        Car_Type, Load_Empty_Ind, to_date(Ship_Date,"MMYYDD"), SPLC_Code, Repair_Pty_Invoice, Repair_Pty_Document, Facility_Type, Loc_On_Car, Quantity,
        Applied_Job_Cd, Applied_Qualifier, Why_Made, Removed_Job_Code, Removed_Qualifier, Resp, Defect_Card_Party, Defect_Card_Date,
        Material_Sign, Machine_Priceable, Wrong_Repair, Narrative, Car_Class, FM_Cd, Mobile_Repair, ARI_Cust_Number, Currency_Multiplier,
        Labor_AMT_US_Dols, Material_Amt_US_Dols, C_BRCEXT_SHP_CD, Condition FROM GL_PROD.C_BRCEX
0
vmandem
Asked:
vmandem
  • 2
  • 2
1 Solution
 
knowledge_riotCommented:
Try putting the date format, MMYYDD in single quotes (not double quotes)

See: http://www.dba-oracle.com/f_to_date.htm
0
 
vmandemAuthor Commented:
Hi, whether you noticed or not that my Whole query is already in single quotes and If I give single quotes again around the format('MMDDYYYY') it is giving me Incorrect Syntax near 'MMDDYYYY'. If I remove the quotes like MMDDYYYY then I get the error

An error occurred while preparing a query for execution against OLE DB provider 'MSDAORA'.
[OLE/DB provider returned message: ORA-00904: "MMDDYYYY": invalid identifier
]
OLE DB error trace [OLE/DB Provider 'MSDAORA' ICommandPrepare::Prepare returned 0x80040e14].


Please let me know what to do in this scenario.
0
 
knowledge_riotCommented:
OK, it is difficult to see from the text above what sort of quotes you have around MMDDYYYY, but it looks like they are double quotes

On my keyboard I have double quotes like this " and single quotes like this '

As your SQL statement is already in single quotes, we need to escape any further single quotes in the SQL, so can you try putting 2 single quotes at the start and another 2 single quotes at the end of so we end up like this ''MMDDYYYY'' (Which looks the same as "MMDDYYYY" but means something different)

Best way to see the difference would be to paste my answer into notepad and check carefully the number of characters around MMDDYYYY in the 2 examples above
0
 
vmandemAuthor Commented:
Good
0

Featured Post

Upgrade your Question Security!

Add Premium security features to your question to ensure its privacy or anonymity. Learn more about your ability to control Question Security today.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now