| Previous | Next |
| QPARSE_E_EXPECTING_DATE | QPARSE_E_EXPECTING_GUID |
QPARSE_E_EXPECTING_CURRENCY
The parser expected a currency literal
QPARSE_E_EXPECTING_CURRENCY is HRESULT 0x80041664. Windows documents it as “Expecting currency.”
Where the failure belongs
This result belongs to legacy Windows query parsing and is returned while reading a currency-valued comparison or argument. The exact condition is: the token contains an unsupported symbol, locale separators, missing numeric content or excess scale.
Likely causes
Telemetry that matters
- Associate raw value with the exact UTC timestamp and correlation identifier.
- Compare failing and known-good values for currency scale under the same provider or handler version.
- Record the source and normalization path of symbol, not only its display form.
- Record property type before releasing the relevant objects.
- Associate final parser input bytes with the exact UTC timestamp and correlation identifier.
Verification workflow
- Capture raw value and currency scale at the call boundary that returns this result.
- Confirm the operation reached reading a currency-valued comparison or argument with the intended symbol.
- capture unscaled value, scale, symbol policy and target property type.
Safe remediation
Serialize the numeric currency representation required by the query grammar. Retrying identical parser bytes cannot succeed; regenerate the specific token or schema pairing that failed.
Avoid the wrong conclusion
How nearby codes differ
QPARSE_E_EXPECTING_REAL is not a substitute because currency scale semantics differ.
Developer and administrator guidance
Worked example
A UI inserts a localized symbol and grouping spaces. The query builder uses the underlying scaled numeric value instead.
Official Microsoft references
Looking for a different code? Search another status or error code.