2016-02-14 02:37:42 +00:00
|
|
|
|
#pragma once
|
|
|
|
|
|
2017-04-01 09:19:00 +00:00
|
|
|
|
#include <Core/Field.h>
|
2016-02-14 02:37:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace DB
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
class IDataType;
|
|
|
|
|
|
|
|
|
|
/** Используется для интерпретации выражений в множестве в IN,
|
|
|
|
|
* а также в запросе вида INSERT ... VALUES ...
|
|
|
|
|
*
|
|
|
|
|
* Чтобы корректно работали выражения вида 1.0 IN (1) или чтобы 1 IN (1, 2.0, 2.5, -1) работало так же, как 1 IN (1, 2).
|
|
|
|
|
* Проверяет совместимость типов, проверяет попадание значений в диапазон допустимых значений типа, делает преобразование типа.
|
|
|
|
|
* Если значение не попадает в диапазон - возвращает Null.
|
|
|
|
|
*/
|
2017-02-16 22:05:48 +00:00
|
|
|
|
Field convertFieldToType(const Field & from_value, const IDataType & to_type, const IDataType * from_type_hint = nullptr);
|
2016-02-14 02:37:42 +00:00
|
|
|
|
|
|
|
|
|
}
|