Лучше всего использовать сканирование диапазона. Зачем вам нужно изменить значение, хранящееся в столбце? Если вы хотите найти все, что произошло 2009-09-15 (независимо от времени), вы можете сказать:
WHERE [date] >= '20090915'
AND [date] < '20090916';
Теперь вы все равно сможете использовать индекс для столбца [дата], если он существует, что, вероятно, следует использовать, если вы часто выполняете такие запросы. Преобразование в левой части приводит к запросам без SARGable, которые почти в одностороннем порядке снижают производительность.
Полезной ссылкой для ознакомления является статья Тибора о типах данных даты / времени, включая советы по запросам:
http://karaszi.com/the-ultimate-guide-to-the-datetime-datatypes
Я также написал довольно длинную статью о том, как избежать плохой практики при запросах диапазонов дат: