Может быть полезно упомянуть, что вы используете WordPress ...
Есть ли у вас доступ к изменению CSS? Тогда я бы посоветовал добавить класс в список под заголовком .mainlist
и использовать css как этот
.mainlist li a { /* change the style of the list under the title*/
color: black;
}
.sidebar li a { /* change the style of the s*/
color: white;
}
Ну, в SQL Server 2008 существует новый тип данных под названием "ДАТА" - Вы могли использовать тот столбец и создать индекс на этом.
Вы могли, конечно, также добавить вычисляемый столбец типа "ДАТА" к Вашей таблице и просто заполнить часть даты столбца DATETIME в тот вычисляемый столбец, сделать, это СОХРАНИЛОСЬ, и индексируйте его. Должен работать просто великолепно!
Что-то как этот:
ALTER TABLE dbo.Entries
ADD DateOnly as CAST(CompositionDate AS DATE) PERSISTED
CREATE UNIQUE INDEX UX_Entries ON Entries(DateOnly, Slug)
Marc
Так как Вы находитесь на 2008, используйте тип данных Даты, как Marc предполагает. Иначе более легкое решение состоит в том, чтобы иметь невычисляемый столбец (что означает, что необходимо будет заполнить его на ВСТАВКЕ), который использует дату в формате YYYYMMDD. Это - целочисленный тип данных и является маленьким и простым в использовании.
Для SQL 2005 Вы могли сделать по существу то же самое, что рекомендуемые marc_s, просто используйте стандартный DateTime. Это выглядело бы примерно так (непротестированный код здесь):
ALTER TABLE Entries ADD
JustTheDate AS DATEADD(day, DATEDIFF(day, 0, CompositionDate), 0) NOT NULL PERSISTED
Затем создайте свой индекс на (JustTheDate, Краткий заголовок)
Примечание: Оператор DATEADD/DATEDIFF там вычисляет просто дату CompositionDate.
За эти годы у нас было множество проблем с Вычисляемыми столбцами в SQL Server, таким образом, мы прекратили использовать их.
Вы могли использовать ПРЕДСТАВЛЕНИЕ со столбцом для только для даты - и поместить уникальный индекс на столбец того ПРЕДСТАВЛЕНИЯ.
(Возможно полезный побочный эффект состоит в том, что у Вас может быть ПРЕДСТАВЛЕНИЕ, исключают некоторые строки - таким образом, Вы могли реализовать вещи как "DateColumn, должно быть уникальным, но исключить, ГДЕ DateColumn ЯВЛЯЕТСЯ ПУСТЫМ),
Существующий столбец CompositionDate мог быть разделен на два поля - CompositionDate и CompositionTime - и Получать Представление, которое присоединяется к ним назад вместе, если бы Вам нужно это - который затем позволил бы собственный индекс на столбце Только для даты
(Это может быть реализовано в SQL 2005 и более раннее использование DateTime - хотя немного экстравагантный для просто Даты или Время и не оба),
И наконец у Вас могла быть ВСТАВКА / триггер ОБНОВЛЕНИЯ, который не осуществил ту никакую другую запись, существовавшую с дублирующимся CompositionDate (только часть даты)