code: def business_days_between(
      start_date: Column, end_date: Column
  ) -> Column:  # noqa: ARG001
      """Function takes two Spark `Columns` and returns a `Column` with the number of business days between the start and the end date.
  
      :param start_date: The column with the start dates
      :type start_date: Column
      :param end_date: The column with the end dates
      :type end_date: Column
      :returns: a Column with the number of business days between the start and the end date
      :rtype: Column
      """
      all_days = "sequence(start_date, end_date)"
      days_of_week = f"transform({all_days}, x -> date_format(x, 'E'))"
      filter_weekends = F.expr(
          f"filter({days_of_week}, x -> x NOT IN ('Sat', 'Sun'))"
      )
      num_business_days = F.size(filter_weekends) - 1
  
      return F.when(num_business_days < 0, None).otherwise(
          num_business_days
      )
  
imports: from __future__ import annotations
  from typing import TYPE_CHECKING
  import re
  import uuid
  from typing import Any
  import pyspark.sql.functions
  from pyspark.sql.types import ArrayType, BooleanType, StringType
label_desc: Use image node_id 14 for calling a global function with example usage: business_days_between(start_date, end_date) and returns: F