2015-02-13 2 views
0

Я создаю базу данных для некоторых спортивных записей. Я хочу записать дату события и оценку (которая является значением времени). Поэтому я хочу сохранить время и дату в двух отдельных столбцах. Должна ли быть такая возможность в SQL Server 2014 с данными типа «дата» и «время», правильно? Я использую SQL Server 2008 на работе, и у меня есть эти типы данных, доступные мне.Тип данных времени, недоступный в SQL Server Express 2014

Я только что создал новую базу данных в SQL Express 2014. Я новичок в создании баз данных - моя работа связана с написанием отчетов, поэтому очень возможно, что я сделал что-то не так во время создания. Когда я использую SSMS для создания таблицы и столбцов, «время» или «дата» не относятся к типу данных. Я пытался писать в создании таблицы вручную, как описано here, но я получаю:

Msg 2715, Level 16, State 7, Line 13 
Column, parameter, or variable #5: Cannot find data type time. 

я получаю один и тот же вопрос с «дата». Я также нашел что-то в Интернете о режиме совместимости, поэтому я попытался следующий

alter database [Records] 
set compatibility_level = 100; 
go 

Но это приводит к

Msg 102, Level 15, State 1, Line 2 
Incorrect syntax near '100'. 

Синтаксис в точности, как описано here. Я также пробовал значение 120, как в статье. Такая же синтаксическая ошибка.

переспросила я, что уровень совместимости в настоящее время с

use [Records] 
go 
select compatibility_level 
from sys.databases where name = 'records'; 
go 

Это прекрасно работает, и ответ 90.

Так что теперь я застрял. Не вижу ничего очевидного в свойствах базы данных.

Может ли кто-нибудь помочь? Спасибо

+3

Compat уровень не добавит или удалить типы, вы * положительно * подключены к SQL Server 2014? Проверьте с помощью 'select @@ version' (сделайте это, даже если вы уверены) –

+3

Кажется, что вы подключаетесь к экземпляру 2005 года, как« alter database .. set compatibility_level = 100; » не работает. Он был введен с SQL 2008. –

+0

Можете ли вы попробовать выполнить минимальный оператор create, чтобы узнать, какую ошибку вы получите: 'create table time_test (the_time time);'? – jpw

ответ

-1

уровень 90 = Совместимость 2005. 100 = 2008, 110 = 2012, 120 = 2014. Если ваш получать 90 назад, он установлен не поддерживает типы данных, введенных в систему и после 2008

+0

Это, безусловно, SQL Server Express 2014, но теперь я задаюсь вопросом, является ли это проблемой. Я импортировал в него базу данных AdventureWorks, и я использую тот же самый экземпляр. Возможно, что-то неправильно на этом этапе. – Laura

+1

Yep so select @@ version returns 2005. Я, вероятно, удалю экземпляр и начну снова. Спасибо всем. – Laura

Смежные вопросы