我是 SQL Server 分区
的新手。我尝试了一些教程,最后我得到了 this基于它创建了一个分区,但问题是我无法像 MYSQL
查询中那样检索基于分区的数据
SELECT * FROM TABLE_NAME PARTITION(partitionId)
并且还在 SQL Server
中尝试了这个查询
SELECT $PARTITION.partition_function (partition_function_id)
EDIT:
The picture shows the data in table I have created partition based on Date, I like to retrieve data based on partition name, which is if partition name is 20170203 I am excepting results on that date.
最佳答案
select * from TABLE_NAME
where $partition.fpartfunction(date) = 1
这将返回分区 1 中的所有数据。
如果你想从日期开始检索它,你可以按照下面的方式进行,
CREATE PARTITION FUNCTION PF_Date(date) AS RANGE LEFT FOR VALUES('2017-01-01','2018-01-01');
--first partition
SELECT *
FROM schema.table_name
WHERE key_column <= '2017-01-01';
--second partition
SELECT *
FROM schema.table_name
WHERE key_column > '2017-01-01' AND key_column <= '2018-01-01';
--last partition
SELECT *
FROM schema.table_name
WHERE key_column > '2018-01-01';
关于mysql - 从 SQL Server 表中的分区检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58987633/