SQL面试问题旨在评估应聘者的技术和解决问题的能力。因此对于应聘者来说,关键在于不仅要根据样本数据编写出正确的查询,而且还要像对待现实数据集一样考虑各种场景和边缘情况。
今天,小小准备了4道SQL题以及解析,测测你的SQL能力。
01
第1题:写一个SQL函数,能将一串字符串按指定的分隔符拆分成行。比如给定字符串“查询,入库,出库,移库,盘点,设置”,查询出来的结果是:
审题:这是一道典型的Split函数题。看过一些写法,可以一段一段地截取,可以使用反转等等,但是核心的知识点就是Index。
做题:下面是我的写法,仅供参考。
CREATE FUNCTION [dbo].[Split](@Text NVARCHAR(4000),@SplitSymbol NVARCHAR(4000))
RETURNS @ResultTable TABLE ([VALUE] NVARCHAR(4000))
AS
BEGIN
--变量定义
DECLARE @StartIndex INT --开始位置
DECLARE @FindIndex INT --找到位置
DECLARE @Content NVARCHAR(4000) --找到内容
--变量初始化
SET @StartIndex=1