我正在努力定义SQL以查找统计上彼此接近的值列表.例如,假设我们有一张价格表,我希望所有价格相差0.25美元以内.
价格:1.00 1.25 2.00 4.00 4.50 4.75 5.00
对于上面的示例,这应该返回1.00,1.25,5.50,4.75和5.00,因为它们在列表中的另一个值的0.25内.
我不想获得原始列表,然后在代码中处理它.SQL服务器完成这项工作会更有效率.这可能吗?
我有一个无法轻易复制的例外,但我非常怀疑它发生在 期间VariantClear()。
我有一个函数定义一个变体,然后将其传递给另一个变体,而不VariantInit()先调用它。然后,被调用的函数调用VariantClear()此变体,这可能是异常的来源。
void Func1()
{
VARIANT vData;
//VariantInit(&vData); // no variant clear was done. Will adding this line stop the crash below?
Func2(vData);
}
void Func2(VARIANT& vData)
{
// some code here
VariantClear(&vData); <-- this line crashes, why??
// some code here
}
Run Code Online (Sandbox Code Playgroud)
谁能解释为什么VariantClear()会抛出异常?VariantInit()调用会Func1()阻止此异常的发生吗?