Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 в SQL 2008R2 можно ли выбрать данные из кронкретной партиции таблицы?  [new]
Yuri_B
Member

Откуда:
Сообщений: 93
есть в таблице Т 12 партиций 20080101 20080201 и т.д.
select * from Т.20080101 не работает, а можно сделать подобную выборку именно из конкретной партиции используя ее имя(20080101 например)

и почему-то не срабатывает выборка где дата равна 'Jan 1 2008' - 'Jan 1 2008' не преобразуется больше в дату, это у меня настройки даты в ОС не верные или SQL 2008 больше дат вида 'Feb 1 2010' не поддерживает?
1 ноя 11, 01:25    [11530126]     Ответить | Цитировать Сообщить модератору
 Re: в SQL 2008R2 можно ли выбрать данные из кронкретной партиции таблицы?  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
Yuri_B
есть в таблице Т 12 партиций 20080101 20080201 и т.д.
select * from Т.20080101 не работает, а можно сделать подобную выборку именно из конкретной партиции используя ее имя(20080101 например)

и почему-то не срабатывает выборка где дата равна 'Jan 1 2008' - 'Jan 1 2008' не преобразуется больше в дату, это у меня настройки даты в ОС не верные или SQL 2008 больше дат вида 'Feb 1 2010' не поддерживает?

Нет, по имени нельзя. Если у вас таблица секционирована по дате, то используйте при выборке диапазон дат. Например
select * from Т where [SectionField] > 'Jan 1 2008' and [SectionField] < 'Jan 1 2008'
Просмотреть все секционированные функции, а также диапазоны можно таким скриптом.
select 
		prtsch.data_space_id as [DATA_SPACE_ID],
		prtsch.name as [SCHEME_NAME],
		prtfn.name as [FUNC_NAME],
		prtfn.fanout as [FUNC_PART],
		TYPE_NAME(prtpar.user_type_id) as [TYPE],
		prtrange.boundary_id as [RANGE_BOUNDARY],
		prtrange.value as [RANGE_VALUE]
from sys.partition_schemes as prtsch
	join sys.partition_functions as prtfn on prtfn.function_id = prtsch.function_id
	join sys.partition_parameters as prtpar on prtpar.function_id = prtfn.function_id
	join sys.partition_range_values as prtrange on prtrange.function_id = prtfn.function_id	
go
1 ноя 11, 06:35    [11530263]     Ответить | Цитировать Сообщить модератору
 Re: в SQL 2008R2 можно ли выбрать данные из кронкретной партиции таблицы?  [new]
mike909
Member

Откуда:
Сообщений: 662
Yuri_B,

$partition.partition_function_name(partition_field) = section_number
1 ноя 11, 07:01    [11530277]     Ответить | Цитировать Сообщить модератору
 Re: в SQL 2008R2 можно ли выбрать данные из кронкретной партиции таблицы?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Yuri_B
'Jan 1 2008' не преобразуется больше в дату, это у меня настройки даты в ОС не верные или SQL 2008 больше дат вида 'Feb 1 2010' не поддерживает?

Это у вас настройки сессии поменялись
SET LANGUAGE russian
go
declare @x datetime
set @x='Jan 1 2008'
select @x
go

SET LANGUAGE us_english
go
declare @x datetime
set @x='Jan 1 2008'
select @x
1 ноя 11, 11:44    [11531421]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить