IoT connects a large number of physical objects with the Internet that capture and exchange real-time information for service provisioning. Traditional network management schemes face challenges to manage vast amounts of network traffic generated by IoT services. Software-Defined Networking (SDN) and Information-Centric Networking (ICN) are two complementary technologies that could be integrated to solve the challenges of different aspects of IoT service provisioning. ICN offers a clean-slate design to accommodate continuously increasing network traffic by considering content as a network primitive. It provides a novel solution for information propagation and delivery for large-scale IoT services. On the other hand, SDN allocates overall network management responsibilities to the central controller, where network elements act merely as traffic forwarding components. An SDN-enabled network flexibly supports ICN without deploying ICN-capable hardware. Therefore, the integration of SDN and ICN provides benefits for large-scale IoT services. This paper provides a comprehensive survey on Software-Defined Information-Centric Internet of Things (SDIC-IoT) for IoT services provisioning. We present critical enabling technologies of SDIC-IoT, discuss its architecture, and elaborate its benefits for IoT services provisioning. We elaborate on key IoT service provisioning requirements and discuss how SDIC-IoT supports different aspects of IoT services. We develop different taxonomies of SDIC-IoT literature based on various performance parameters. Furthermore, an extensive discussion on different use cases, synergies, and advances is presented to envision the SDIC-IoT concept. Finally, we provide current challenges, causes, and future research directions of IoT services provisioning using SDIC-IoT.