Вычисляемый столбец с разными типами данных - PullRequest
0 голосов
/ 21 ноября 2011

Я хочу, чтобы вычисляемый столбец имел несколько типов данных и мог их индексировать.Этот вопрос связан с этой публикацией SO: Linq: сортировка по дате, когда она хранится в виде текста

Вот мои настройки базы данных:

id INT
type INT
data computed column

Вот примерданные, которые могут попасть в эту таблицу

id---------type--------data
1----------1-----------190
2----------2-----------9/29/1972
3----------3-----------12.72
4----------1-----------2
5----------4-----------this is a test

Как видите, столбец data имеет несколько типов данных.Я хотел знать, как реализовать такую ​​систему и поместить индекс в столбец data в качестве типа данных, который должен быть.Например,

  • Тип равен 1: Тогда индекс будет INT
  • Тип равен 2: Тогда индекс будет DATE или DATETIME
  • Тип равен 3:Тогда индекс будет ДЕСЯТИЧНЫМ и т. Д.

Можно ли дать вычисляемому столбцу индекс для нескольких различных типов данных?Если так, как я могу это сделать?- тогда индекс будет целым

Ответы [ 2 ]

4 голосов
/ 21 ноября 2011

Столбец имеет один тип данных, а не несколько. Вы не можете делать то, что вы просите.

Ваш дизайн EAV и анти-шаблон

Если вы настаиваете, вы можете добавить больше вычисляемых столбцов на основе одного типа varchar. Но тогда почему бы не иметь их на первом месте? Или использовать индексированное представление для приведения и индексирования?

0 голосов
/ 21 ноября 2011

Вы не можете использовать разные типы данных для столбца

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...