;
Như một ví dụ được điều chỉnh từ báo cáo kỹ thuật nói trên, giả sử rằng bạn được cung cấp một bảng dbo.Ticker, với ký hiệu cột, giao dịch và giá. Sử dụng mã sau để tạo bảng, điền vào bảng một số dữ liệu mẫu và truy vấn nó:
ĐẶT SỐ TÀI KHOẢN BẬT; SỬ DỤNG tempdb; DROP BẢNG NẾU TỒN TẠI dbo.Ticker; CREATE TABLE dbo.Ticker (ký hiệu VARCHAR (10) NOT NULL, giao dịch NGÀY KHÔNG ĐỦ, giá NUMERIC (12, 2) NOT NULL, CONSTRAINT PK_Ticker PRIMARY KEY (ký hiệu, giao dịch)); ĐI CHÈN VÀO dbo.Ticker (ký hiệu, giao dịch , giá) CÁC GIÁ TRỊ ('STOCK1', '20190212', 150.00), ('STOCK1', '20190213', 151.00), ('STOCK1', '20190214', 148.00), ('STOCK1', '20190215', 146.00 ), ('STOCK1', '20190218', 142.00), ('STOCK1', '20190219', 144.00), ('STOCK1', '20190220', 152.00), ('STOCK1', '20190221', 152.00), ('STOCK1', '20190222', 153.00), ('STOCK1', '20190225', 154.00), ('STOCK1', '20190226', 154.00), ('STOCK1', '20190227', 154.00), (' STOCK1 ',' 20190228 ', 153.00), (' STOCK1 ',' 20190301 ', 145.00), (' STOCK1 ',' 20190304 ', 140.00), (' STOCK1 ',' 20190305 ', 142.00), (' STOCK1 ' , '20190306', 143.00), ('STOCK1', '20190307', 142.00), ('STOCK1', '20190308', 140.00), ('STOCK1', '20190311', 138.00), ('STOCK2', ' 20190212 ', 330.00), (' STOCK2 ',' 20190213 ', 329.00), (' STOCK2 ',' 20190214 ', 329.00), ('STOCK2', '20190215', 326.00), ('STOCK2', '20190218', 325.00), ('STOCK2', '20190219', 326.00), ('STOCK2', '20190220', 328.00) , ('STOCK2', '20190221', 326.00), ('STOCK2', '20190222', 320.00), ('STOCK2', '20190225', 317.00), ('STOCK2', '20190226', 319.00), ( 'STOCK2', '20190227', 325.00), ('STOCK2', '20190228', 322.00), ('STOCK2', '20190301', 324.00), ('STOCK2', '20190304', 321.00), ('STOCK2' ',' 20190305 ', 319.00), (' STOCK2 ',' 20190306 ', 322.00), (' STOCK2 ',' 20190307 ', 326.00), (' STOCK2 ',' 20190308 ', 326.00), (' STOCK2 ', '20190311', 324,00); CHỌN biểu tượng, giao dịch, giá FROM dbo.Ticker;
Mã này tạo ra kết quả sau:
Giá ký hiệu đã giao dịch ---------------- STOCK1 2019-02-12 150.00STOCK1 2019-02-13 151.00STOCK1 2019-02-14 148.00STOCK1 2019-02-15 146.00STOCK1 2019-02-18 142.00STOCK1 2019-02-19 144.00STOCK1 2019-02-20 152.00STOCK1 2019-02-21 152.00STOCK1 2019-02-22 153.00STOCK1 2019-02-25 154.00STOCK1 2019 -02-26 154.00STOCK1 2019-02-27 154.00STOCK1 2019-02-28 153.00STOCK1 2019-03-01 145.00STOCK1 2019-03-04 140.00STOCK1 2019-03-05 142.00STOCK1 2019-03-06 143.00STOCK1 2019- 03-07 142.00STOCK1 2019-03-08 140.00STOCK1 2019-03-11 138.00STOCK2 2019-02-12 330.00STOCK2 2019-02-13 329.00STOCK2 2019-02-14 329.00STOCK2 2019-02-15 326.00STOCK2 2019-02 -18 325.00STOCK2 2019-02-19 326.00STOCK2 2019-02-20 328.00STOCK2 2019-02-21 326.00STOCK2 2019-02-22 320.00STOCK2 2019-02-25 317.00STOCK2 2019-02-26 319.00STOCK2 2019-02- 27 325.00STOCK2 2019-02-28 322.00STOCK2 2019-03-01 324.00STOCK2 2019-03-04 321.00STOCK2 2019-03-05 319.00STOCK2 2019-03-06 322.00STOCK2 2019-03-07 326.00STOCK2 2019-03-08 326.00STOCK2 2019-03-11 324.0040 hàng bị ảnh hưởng.
Truy vấn sau xác định các mẫu đại diện cho hình dạng V trong giá cổ phiếu (khoảng thời gian có giá giảm nghiêm trọng theo sau là thời kỳ có giá tăng nghiêm ngặt), sử dụng MỘT TRÒ CHƠI MỖI LẦN làm mẫu hàng trên mỗi trận đấu tùy chọn:
CHỌN MR.symbol, MR.matchnum, MR.startdate, MR.startprice, MR.bottomdate, MR.bottomprice, MR.enddate, MR.endprice, MR.maxpriceFROM dbo.Ticker MATCH_RECOGNIZE (PHẦN BẰNG ký hiệu ORDER BY thương mại MEASURES MATCH_NUMBER () AS matchnum, A.tradedate AS startdate, A.price AS startprice, LAST (B.tradedate) AS bottomdate, LAST (B.price) AS bottomprice, LAST (C.tradedate) AS enddate, - giống như CUỐI CÙNG (giá giao dịch) CUỐI CÙNG (C.price) AS endprice, MAX (U.price) AS maxprice - giống TỐI ĐA (giá) MỘT TRẬN MỖI TRẬN ĐẤU - mặc định SAU KHI TRẬN ĐẤU SKIP QUÁ TRƯỚC ROW - MẪU mặc định (A B + C + ) SUBSET U =(A, B, C) DEFINE - A mặc định là True, khớp với bất kỳ hàng nào, giống như xác định rõ ràng A AS 1 =1 B AS B.price PREV (C.price)) NHƯ ÔNG;
Mệnh đề PARTITION BY xác định rằng bạn muốn xử lý từng ký hiệu cổ phiếu riêng biệt.
Điều khoản ORDER BY xác định việc đặt hàng dựa trên ngày giao dịch.
Mệnh đề DEFINE xác định các biến mẫu hàng đại diện cho các dãy con khác nhau của các hàng trong mẫu. Trong ví dụ trên, A đại diện cho bất kỳ hàng nào làm điểm bắt đầu, B đại diện cho một dãy giảm giá (B.price PREV ( C.price)).
Mệnh đề PATTERN sử dụng các biểu thức chính quy để xác định một mẫu. Trong truy vấn trên, mẫu là (A B + C +), nghĩa là (bất kỳ hàng nào, theo sau là một hoặc nhiều hàng có giá giảm, theo sau là một hoặc nhiều hàng có giá tăng). Sau đây là các bộ định lượng mẫu biểu thức chính quy mà bạn có thể sử dụng:
* - không (0) hoặc nhiều kết quả phù hợp + - một (1) hoặc nhiều kết quả phù hợp? - không có kết quả phù hợp hoặc một (1) kết quả phù hợp, tùy chọn {n} - chính xác n kết quả phù hợp {n,} - n hoặc nhiều kết quả phù hợp {n, m} - giữa n và m (bao gồm) kết quả phù hợp {, m} - từ 0 (0 ) và m (bao gồm) đối sánh {- Biến -}, ví dụ:{- A -} - chỉ ra rằng các hàng phù hợp sẽ bị loại trừ khỏi kết quả đầu ra (chỉ hữu ích nếu TẤT CẢ MỖI TRẬN ĐẤU được chỉ định) |, ví dụ:A | B - luân phiên (), ví dụ, (A | B) - nhóm ^, ví dụ:^ A {1, 3} - bắt đầu của một phân vùng mẫu hàng $, ví dụ:A {1, 3} $ - cuối một mẫu hàng phân vùng
Theo mặc định, các bộ định lượng là tham lam, nhưng bạn có thể xác định chúng là miễn cưỡng.
Mệnh đề SUBSET cho phép bạn xác định danh sách các biến tập hợp con được đặt tên.
Mệnh đề MEASURES xác định các biện pháp liên quan đến mẫu. Bạn có thể áp dụng các phép tính cho các biến mẫu và cho các tập hợp con. Hàm MATCH_NUMBER () gán các số nguyên tuần tự bắt đầu bằng 1 cho các kết quả phù hợp trong phân vùng. Bạn có thể sử dụng các phép toán như FIRST, LAST, PREV và NEXT, cũng như các phép tính tổng hợp.
Truy vấn này sử dụng MỘT TRƯỚC MỖI TRẬN ĐẤU làm hàng mẫu hàng cho mỗi tùy chọn đối sánh. Điều này có nghĩa là bảng kết quả sẽ có một hàng cho mỗi mẫu khớp, tương tự như kết quả của việc phân nhóm. Giải pháp thay thế là TẤT CẢ CÁC ROWS MỖI TRẬN ĐẤU mà bạn muốn các hàng chi tiết được trả về cho mỗi đối sánh mẫu (ví dụ sẽ làm theo ngay sau đây).
Truy vấn này sử dụng SAU KHI TRẬN ĐẤU SKIP QUA CUỐI CÙNG dưới dạng SAU TRẬN ĐẤU . Điều này có nghĩa là sau khi tìm thấy một kết quả phù hợp, bạn muốn lần thử tiếp theo bắt đầu sau hàng cuối cùng của trận đấu hiện tại. Có các lựa chọn thay thế khác như tìm kiếm kết quả phù hợp tiếp theo trong hàng sau hàng đầu tiên của kết quả phù hợp hiện tại (BỎ QUA ĐẾN VÒNG TIẾP THEO) hoặc để chuyển đến một vị trí liên quan đến biến mẫu hàng.
Đây là kết quả mong đợi của truy vấn này:
biểu tượng matchnum startdate startprice bottomdat bottomprice enddate endprice maxprice ------------- ---------------- ------ ----------- ---------- ---------- ---------------- CỔ PHẦN 1 2019-02-13 151,00 2019-02-18 142,00 2019-02-20 152,00 152,00 KHÓA1 2 2019-02-27 154,00 2019-03-04 140,00 2019-03-06 143,00 154,00STOCK2 1 2019-02-14 329,00 2019-02-18 325,00 2019 -02-20 328.00 329.00STOCK2 2 2019-02-21 326.00 2019-02-25 317.00 2019-02-27 325.00 326.00STOCK2 3 2019-03-01 324.00 2019-03-05 319.00 2019-03-07 326.00 326.00
Dưới đây là phiên bản được sửa đổi một chút của truy vấn sử dụng tùy chọn TẤT CẢ CÁC ROWS MỖI TRẬN ĐẤU:
CHỌN MR.symbol, MR.tradedate, MR.price, MR.matchnum, MR.classy, MR.startdate, MR.startprice, MR.bottomdate, MR.bottomprice, MR.enddate, MR.endprice, MR. maxpriceFROM dbo.Ticker MATCH_RECOGNIZE (PARTITION BY ký hiệu ORDER BY tradingate MEASURES MATCH_NUMBER () AS matchnum, CLASSIFIER () AS sang trọng, A.tradedate AS startdate, A.price AS startprice, LAST (B.tradedate) AS bottomdate, LAST (B. price) AS bottomprice, LAST (C.tradedate) AS enddate, LAST (C.price) AS endprice, MAX (U.price) AS maxprice TẤT CẢ CÁC ROWS MỖI TRẬN ĐẤU SAU KHI TRẬN ĐẤU MẪU ROW CUỐI CÙNG (A B + C +) SUBSET U =(A, B, C) DEFINE B AS B.price PREV (C.price)) AS MR;
Đây là kết quả mong đợi của truy vấn này:
biểu tượng được giao dịch giá matchnum sang trọng startdate startprice bottomdate bottomprice enddate endprice maxprice ---------------- ---------- - ---------- ---------- ---------- ------------- - --------- -------- STOCK1 2019-02-13 151.00 1 A 2019-02-13 151.00 NULL NULL NULL NULL 151.00STOCK1 2019-02-14 148.00 1 B 2019- 02-13 151.00 2019-02-14 148.00 NULL NULL 151.00STOCK1 2019-02-15 146.00 1 B 2019-02-13 151.00 2019-02-15 146.00 NULL NULL 151.00STOCK1 2019-02-18 142.00 1 B 2019-02- 13 151.00 2019-02-18 142.00 NULL NULL 151.00STOCK1 2019-02-19 144.00 1 C 2019-02-13 151.00 2019-02-18 142.00 2019-02-19 144.00 151.00STOCK1 2019-02-20 152.00 1 C 2019- 02-13 151.00 2019-02-18 142.00 2019-02-20 152.00 152.00 KHÓA1 2019-02 -27 154,00 2 A 2019-02-27 154,00 NULL NULL NULL 154,00 STOCK1 2019-02-28 153,00 2 B 2019-02-27 154,00 2019-02-28 153,00 NULL NULL 154,00STOCK1 2019-03-01 145,00 2 B 2019 -02-27 154.00 2019-03-01 145.00 NULL NULL 154.00STOCK1 2019-03-04 140.00 2 B 2019-02-27 154.00 2019-03-04 140.00 NULL 154.00STOCK1 2019-03-05 142.00 2 C 2019-02 -27 154.00 2019-03-04 140.00 2019-03-05 142.00 154.00STOCK1 2019-03-06 143.00 2 C 2019-02-27 154.00 2019-03-04 140.00 2019-03-06 143.00 154.00STOCK2 2019-02-14 329,00 1 A 2019-02-14 329,00 NULL NULL NULL 329,00STOCK2 2019-02-15 326,00 1 B 2019-02-14 329,00 2019-02-15 326,00 NULL NULL 329,00STOCK2 2019-02-18 325,00 1 B 2019-02-14 329.00 2019-02-18 325.00 NULL NULL 329.00STOCK2 2019-02-19 326.00 1 C 2019-02-14 329.00 2019-02-18 325.00 2019-02-19 326.00 329.00STOCK2 2019-02-20 328.00 1 C 2019-02-14 329.00 2019-02-18 325.00 2019-02-20 328.00 329.00STOCK2 2019-02-21 326.00 2 A 2019-02-21 326.00 NULL NULL NULL 326.00STOCK2 2019-02-22 320.00 2 B 2019-02-21 326.00 2019-02-22 320.00 NULL NULL 326.00STOCK2 2019-02-25 317.00 2 B 2019-02-21 326.00 2019-02-25 317.00 NULL NULL 326.00STOCK2 2019-02-26 319.00 2 C 2019- 02-21 326.00 2019-02-25 317.00 2019-02-26 319.00 326.00STOCK2 2019-02-27 325.00 2 C 2019-02-21 326.00 2019-02-25 317.00 2019-02-27 325.00 326.00STOCK2 2019-03- 01 324.00 3 A 2019-03-01 324.0 0 NULL NULL NULL NULL 324.00STOCK2 2019-03-04 321.00 3 B 2019-03-01 324.00 2019-03-04 321.00 NULL NULL 324.00STOCK2 2019-03-05 319.00 3 B 2019-03-01 324.00 2019-03-05 319.00 NULL NULL 324.00STOCK2 2019-03-06 322.00 3 C 2019-03-01 324.00 2019-03-05 319.00 2019-03-06 322.00 324.00STOCK2 2019-03-07 326.00 3 C 2019-03-01 324.00 2019-03 -05 319.00 2019-03-07 326.00 326.0027 hàng bị ảnh hưởng.
Lưu ý việc bổ sung số đo phân cấp dựa trên chức năng CLASSIFIER. Hàm này trả về một chuỗi đại diện cho biến mẫu hàng mà hàng kết quả được liên kết với (trong trường hợp của chúng tôi là A, B hoặc C).
Tính năng R020, “Nhận dạng mẫu hàng:mệnh đề WINDOW”
Tính năng R020 sử dụng nhận dạng mẫu hàng như là một phần của mệnh đề OVER của cửa sổ (hoặc mệnh đề WINDOW khi đặt tên cho một đặc tả cửa sổ) để hạn chế thêm khung cửa sổ. Giống như phân vùng cửa sổ hạn chế các hàng của biểu thức bảng đầu vào (TỪ… ĐÂU… NHÓM THEO… HAVING), và khung cửa sổ hạn chế thêm phân vùng cửa sổ, với tính năng R020, bạn hạn chế thêm toàn bộ khung cửa sổ thành một khung cửa sổ giảm được thực hiện của dãy con của các hàng tạo thành đối sánh mẫu. Dưới đây là truy vấn thể hiện tính năng này với mệnh đề WINDOW, sử dụng đặc điểm đối sánh mẫu hàng tương tự với đặc điểm được sử dụng trong truy vấn đầu tiên trong bài viết này:
CHỌN T.symbol, T.tradedate, T.price, startdate OVER W, startprice OVER W, bottomdate OVER W, bottomprice OVER W, enddate OVER W, endprice OVER W, maxprice OVER WFROM dbo.Ticker TWINDOW W AS ( PHẦN BẰNG ký hiệu ĐẶT HÀNG THEO BIỆN PHÁP GIAO DỊCH A.tradedate AS startdate, A.price AS startprice, LAST (B.tradedate) AS bottomdate, LAST (B.price) AS bottomprice, LAST (C.tradedate) AS enddate, LAST (C. price) AS endprice, MAX (U.price) AS maxprice ROW GIỮA ROW HIỆN TẠI VÀ UNBOUNDED SAU KHI TRẬN ĐẤU SKIP QUÁ CUỐI CÙNG BAN ĐẦU - mẫu phải bắt đầu ở hàng đầu tiên của khung cửa sổ đầy đủ; thay thế là XEM MẪU (A B + C +) SUBSET U =(A, B, C) DEFINE B AS B.price PREV (C.price));
Khi sử dụng nhận dạng mẫu hàng với cửa sổ, khung cửa sổ đầy đủ phải bắt đầu ở hàng hiện tại. Lưu ý việc sử dụng tùy chọn INITIAL trong truy vấn này. Tùy chọn này có nghĩa là bạn chỉ nhận được một kết quả phù hợp nếu mẫu bắt đầu với hàng hiện tại. Giải pháp thay thế là SEEK, có nghĩa là tìm kiếm đối sánh bắt đầu với hàng hiện tại, nhưng được phép đến cuối khung cửa sổ đầy đủ. Dù bằng cách nào, nếu tìm thấy kết quả phù hợp, khung cửa sổ thu gọn chỉ bao gồm các hàng đối sánh mẫu, nếu không, khung cửa sổ thu gọn sẽ trống. Chỉ tìm kiếm một đối sánh mẫu hàng cho mỗi khung cửa sổ đầy đủ.
Quan sát trong danh sách CHỌN của truy vấn rằng bạn có thể trả về các số đo được xác định trong mệnh đề MEASURES, được tính trên W, là khung cửa sổ thu gọn.
Nhớ lại kết quả của truy vấn đầu tiên trong bài viết này, sử dụng nhận dạng mẫu hàng trong mệnh đề FROM, với tùy chọn MỘT ROW MỖI TRẬN ĐẤU:
biểu tượng matchnum startdate startprice bottomdat bottomprice enddate endprice maxprice ------------- ---------------- ------ ----------- ---------- ---------- ---------------- CỔ PHẦN 1 2019-02-13 151,00 2019-02-18 142,00 2019-02-20 152,00 152,00 KHÓA1 2 2019-02-27 154,00 2019-03-04 140,00 2019-03-06 143,00 154,00STOCK2 1 2019-02-14 329,00 2019-02-18 325,00 2019 -02-20 328.00 329.00STOCK2 2 2019-02-21 326.00 2019-02-25 317.00 2019-02-27 325.00 326.00STOCK2 3 2019-03-01 324.00 2019-03-05 319.00 2019-03-07 326.00 326.00
Đây là kết quả mong đợi của truy vấn cuối cùng của chúng tôi, sử dụng nhận dạng mẫu hàng trong mệnh đề WINDOW:
ký hiệu đã giao dịch giá ngày bắt đầu ngày bắt đầu ngày giá dưới cùng của giá bottomprice cuối ngày cuối cùng của giá cuối cùng giá cực đại ----------------- ---------------- ----- ---------- ----------- ---------- ---------------- --STOCK1 2019-02-12 150.00 NULL NULL NULL NULL NULL NULL NULL NULL NULLSTOCK1 2019-02-13 151.00 2019-02-13 151.00 2019-02-18 142.00 2019-02-20 152.00 152.00STOCK1 2019-02-14 148.00 NULL NULL NULL NULL NULL NULL NULLSTOCK1 2019-02-15 146,00 NULL NULL NULL NULL NULL NULLSTOCK1 2019-02-18 142,00 NULL NULL NULL NULL NULL NULLSTOCK1 2019-02-19 144,00 NULL NULL NULL NULL NULL NULL NULLSTOCK1 2019-02-20 152,00 NULL NULL NULL NULL NULL NULL NULLSTOCK1 2019-02-21 152,00 NULL NULL NULL NULL N ULL NULL NULLSTOCK1 2019-02-22 153.00 NULL NULL NULL NULL NULL NULL NULLSTOCK1 2019-02-25 154.00 NULL NULL NULL NULL NULL NULL NULLSTOCK1 2019-02-26 154.00 NULL NULL NULL NULL NULL NULL NULL NULLSTOCK1 2019-02-27 154.00 2019- 02-27 154.00 2019-03-04 140.00 2019-03-06 143.00 154.00STOCK1 2019-02-28 153.00 NULL NULL NULL NULL NULL NULLSTOCK1 2019-03-01 145.00 NULL NULL NULL NULL NULL NULLSTOCK1 2019-03-04 140.00 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULLSTOCK1 2019-03-05 142,00 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL1 2019-03-07 142,00 NULL NULL N ULL NULL NULL NULLSTOCK1 2019-03-08 140,00 NULL NULL NULL NULL NULL NULL NULLSTOCK1 2019-03-11 138,00 NULL NULL NULL NULL NULL NULLSTOCK2 2019-02-12 330,00 NULL NULL NULL NULL NULL NULL NULLSTOCK2 2019-02-13 329,00 NULL NULL NULL NULL NULL NULL NULL NULLSTOCK2 2019-02-14 329.00 2019-02-14 329.00 2019-02-18 325.00 2019-02-20 328.00 329.00STOCK2 2019-02-15 326.00 NULL NULL NULL NULL NULL NULLSTOCK2 2019-02-18 325,00 NULL NULL NULL NULL NULL NULL NULL NULLSTOCK2 2019-02-19 326,00 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULLSTOCK2 2019-02-21 326,00 2019-02-21 326,00 2 019-02-25 317.00 2019-02-27 325.00 326.00STOCK2 2019-02-22 320.00 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULLSTOCK2 2019-02-27 325.00 NULL NULL NULL NULL NULL NULLSTOCK2 2019-02-28 322.00 NULL NULL NULL NULL NULL NULLSTOCK2 2019-03-01 324.00 2019-03-01 324.00 2019-03-05 319.00 2019-03 -07 326,00 326,00STOCK2 2019-03-04 321,00 NULL NULL NULL NULL NULL NULL NULLSTOCK2 2019-03-05 319,00 NULL NULL NULL NULL NULL NULLSTOCK2 2019-03-06 322,00 NULL NULL NULL NULL NULL NULL NULLSTOCK2 2019-03-07 326,00 VÔ GIÁ TRỊ NULL NULL NULL NULL NULL NULLSTOCK2 2019-03-08 326.00 NULL NULL NULL NULL NULL NULL NULL NULLSTOCK2 2019-03-11 324.00 NULL NULL NULL NULL NULL 40 (Các) hàng bị ảnh hưởng.
Hãy quan sát để biết rằng bạn nhận được tất cả các hàng chi tiết trong đầu ra và nơi bắt đầu khớp mẫu, bạn sẽ nhận được kết quả của các phép đo mẫu hàng được yêu cầu dựa trên khung cửa sổ được thu nhỏ.
Bỏ phiếu của bạn
Chúng tôi hoàn toàn hiểu rằng để Microsoft thêm một tính năng vào T-SQL — đặc biệt là một tính năng quan trọng như vậy — là một khoản đầu tư khá lớn. Nhưng điều tuyệt vời về các tính năng được thêm vào T-SQL là chúng tồn tại ở đó mãi mãi. Có một cộng đồng khổng lồ khao khát những cải tiến T-SQL chẳng hạn như cải tiến này.
Nếu bạn cảm thấy rằng nhận dạng mẫu hàng là một bổ sung quan trọng cho SQL Server, hãy đảm bảo bạn bỏ phiếu. Ngoài ra, Microsoft có nhiều khả năng sẽ ưu tiên một tính năng được đề xuất hơn nếu họ biết về khách hàng và các trường hợp sử dụng có thể hưởng lợi từ tính năng đó và hiện tại những khách hàng đó đang sử dụng các sản phẩm khác hoặc các giải pháp phức tạp hơn. Nếu bạn hoặc khách hàng của bạn thấy RPR có lợi cho bạn và có các trường hợp sử dụng mà bạn có thể chia sẻ, hãy đảm bảo rằng bạn thêm nhận xét vào mục phản hồi và cho Microsoft biết.