As explained in the Sequence Manipulator Functions page, the
mco_seq_skip_nan_TYPE()
API copies the input sequence to result skippingNaN
(Not-a-Number) elements. And note thatNaN
is a special kind of typesfloat
ordouble
, so the input sequence must be one of these types - the function is useless for integer or char types.A note on NaN values in Microsoft Windows
In the Microsoft Windows environment
NULL
s are denoted as0.0/0.0
instead of the"nan" string. This is the value passed into the SQL statementNote that if
0.0/0.0
is passed as a parameter in a C/C++ application, Visual Studio 2013 does not have the "nan" or "nanf" symbols defined. Therefore the following workaround can be used in the application code:#ifdef _WIN32 #if _MSC_VER < 1900 /* Visual Studio 2013 and earlier */ #include <float.h> #define isnan _isnan const unsigned long nan[2]={0xffffffff, 0x7fffffff}; #define nan(s) (*( double* )nan) #define nanf(s) (*( float* )nan) #endif #endifStaring from the Visual Studio 2015 the "nan" and "nanf" symbols are present.