Estoy usando SQL Server 2008. Tengo un índice Non-Unique Non-cluster en una columna DateTime "DateFrom". Estoy buscando en la tabla basada en esta columna. Sólo quería saber el efecto de CONVERT() la función de ÍNDICE ver más abajo:¿Cuál es el efecto de CONVERTIR() en ÍNDICE durante la búsqueda?
Query1:
SELECT *
FROM myTable
WHERE CONVERT(VARCHAR(10),DateFrom,23) >= '2011-01-01'
Query2:
SELECT *
FROM myTable
WHERE DateFrom >= '2011-01-01 00:00:00.000'
He comprobado & no encontraron diferencias. Pero estaba pensando que dado que la columna está CONVERTIDA, entonces el índice no puede ser utilizado por el servidor SQL, ¿es correcto?
Por favor, perdóneme, si esta no es una pregunta adecuada.
o.DateFrom - no hay un alias para o - ligero error ortográfico? – Andrew
* He comprobado y no encontré ninguna diferencia * - ¿Dice que realmente comparó los planes de ejecución y los encontró idénticos? Dudo que; la primera consulta compara cadenas usando reglas para cadenas, la segunda compara fechas. – GSerg
Si está en 2008 y lanza 'datetime' a' date', aún puede usar un índice, pero esta es una excepción a la regla. –