public function get_type_value($type = null, $type_cast = false)
    {

        if (empty($type)) return "null";

        if (strpos(strtolower($type), 'int') !== false) {
            return ($type_cast) ? '(int)' : 0;
        }

        if (strpos(strtolower($type), 'float') !== false) {
            return ($type_cast) ? '(float)' : 0;
        }

        if (strpos(strtolower($type), 'char') !== false) {
            return ($type_cast) ? '(string)' : "''";
        }

        if (strpos(strtolower($type), 'enum') !== false) {
            return ($type_cast) ? '(string)' : "''";
        }

        if (strpos(strtolower($type), 'dec') !== false) {
            return ($type_cast) ? '(float)' : 0;
        }

        if (strpos(strtolower($type), 'text') !== false) {
            return ($type_cast) ? '(string)' : "''";
        }

        if (strpos(strtolower($type), 'bit') !== false) {
            return ($type_cast) ? '(string)' : "''";
        }

        if (strpos(strtolower($type), 'bool') !== false) {
            return ($type_cast) ? '(boolean)' : "false";
        }

        if (strpos(strtolower($type), 'datetime') !== false) {
            return ($type_cast) ? '(string)' : "'0000-00-00 00:00:00'";
        }

        if (strpos(strtolower($type), 'date') !== false) {
            return ($type_cast) ? '(string)' : "'0000-00-00'";
        }

        if (strpos(strtolower($type), 'year') !== false) {
            return ($type_cast) ? '(string)' : "'0000'";
        }

        if (strpos(strtolower($type), 'time') !== false) {
            return ($type_cast) ? '(int)' : 0;
        }

        if (strpos(strtolower($type), 'double')) {
            return ($type_cast) ? '(double)' : 0;
        }

        return "null";
    }