1. 快速填充数字辅助表: 倍增,平方根,平方
2. 获取已有范围和缺失范围;
3. 获取每个员工最新的3个订单;
4. 统计字符串内某子字符串出现的次数;(利用replace函数)
5. 实现Except All;
6. 拆分元素:
代码
--
Table
USE tempdb;
GO
IF OBJECT_ID ( ' dbo.Arrays ' ) IS NOT NULL
DROP TABLE dbo.Arrays;
GO
CREATE TABLE dbo.Arrays
(
arrid VARCHAR ( 10 ) NOT NULL PRIMARY KEY ,
array VARCHAR ( 8000 ) NOT NULL
)
INSERT INTO Arrays(arrid, array) VALUES ( ' A ' , ' 20,22,25,25,14 ' );
INSERT INTO Arrays(arrid, array) VALUES ( ' B ' , ' 30,33,28 ' );
INSERT INTO Arrays(arrid, array) VALUES ( ' C ' , ' 12,10,8,12,12,13,12,14,10,9 ' );
INSERT INTO Arrays(arrid, array) VALUES ( ' D ' , ' -4,-6,-4,-2 ' );
USE tempdb;
GO
IF OBJECT_ID ( ' dbo.Arrays ' ) IS NOT NULL
DROP TABLE dbo.Arrays;
GO
CREATE TABLE dbo.Arrays
(
arrid VARCHAR ( 10 ) NOT NULL PRIMARY KEY ,
array VARCHAR ( 8000 ) NOT NULL
)
INSERT INTO Arrays(arrid, array) VALUES ( ' A ' , ' 20,22,25,25,14 ' );
INSERT INTO Arrays(arrid, array) VALUES ( ' B ' , ' 30,33,28 ' );
INSERT INTO Arrays(arrid, array) VALUES ( ' C ' , ' 12,10,8,12,12,13,12,14,10,9 ' );
INSERT INTO Arrays(arrid, array) VALUES ( ' D ' , ' -4,-6,-4,-2 ' );
You need to get the result like below:
Arrays Split to Elements
arrid
pos
val
A
1
20
A
2
22
A
3
25
A
4
25
A
5
14
B
1
30
B
2
33
B
3
28
C
1
12
C
2
10
C
3
8
C
4
12
C
5
12
C
6
13
C
7
12
C
8
14
C
9
10
D
1
4
D
2
6
D
3
4
D
4
2
7. 自己实现NTILE(把行分布到指定数量的组中),如果不能整除的行随机放到某个组中;
8. 获取数学成绩最高的人的名字;获取每个科目成绩最高的人的名字(存在并列的);
9. 是否存在无数个素数?