34,838
社区成员




USE tempdb
GO
IF OBJECT_ID('test') IS NOT NULL
DROP TABLE test
CREATE TABLE test( bianHao VARCHAR(8))
INSERT INTO test(bianHao)VALUES('1-'),('2-'),('3.'),('.4'),('5')
--添加计算列
ALTER TABLE test ADD newNO AS REPLACE(REPLACE(REPLACE(bianHao,'-',''),'_',''),'.','') Persisted
--添加计算列的索引
CREATE INDEX ix_test_newNo ON test(newNO)
--实际分页
;WITH cte AS (
SELECT ROW_NUMBER() OVER ( ORDER BY newNO ASC) AS rid,* FROM test
)
SELECT * FROM cte WHERE rid BETWEEN 3 AND 4
/*
rid bianHao newNO
3 3. 3
4 .4 4
*/