code: func NewCastFunc(tp *types.FieldType, arg Expression, ctx context.Context) *ScalarFunction {
  	bt := &builtinCastSig{newBaseBuiltinFunc([]Expression{arg}, ctx), tp}
  	return &ScalarFunction{
  		FuncName: model.NewCIStr(ast.Cast),
  		RetType:  tp,
  		Function: bt,
  	}
  }
docs: // NewCastFunc creates a new cast function.