code: public static function getEmptyValueByFieldType($sql)
  	{
  		if (empty($sql))
  		{
  			return '';
  		}
  
  		if (\is_array($sql))
  		{
  			if (isset($sql['columnDefinition']))
  			{
  				$sql = $sql['columnDefinition'];
  			}
  			else
  			{
  				if (isset($sql['default']))
  				{
  					return $sql['default'];
  				}
  
  				if (isset($sql['notnull']) && !$sql['notnull'])
  				{
  					return null;
  				}
  
  				if (\in_array($sql['type'], array(Type::BIGINT, Type::DECIMAL, Type::INTEGER, Type::SMALLINT, Type::FLOAT)))
  				{
  					return 0;
  				}
  
  				return '';
  			}
  		}
  
  		if (stripos($sql, 'NOT NULL') === false)
  		{
  			return null;
  		}
  
  		$type = strtolower(preg_replace('/^([A-Za-z]+)(\(| ).*$/', '$1', $sql));
  
  		if (\in_array($type, array('int', 'integer', 'tinyint', 'smallint', 'mediumint', 'bigint', 'float', 'double', 'dec', 'decimal')))
  		{
  			return 0;
  		}
  
  		return '';
  	}
docs: Return the empty value based on the SQL string
  
  @param string $sql The SQL string
  
  @return string|integer|null The empty value