Esta es una pregunta basada en el rendimiento, no en una pregunta "I don't understand" o "best practice".Rendimiento relativo en SQLServer of Substring frente a un combo Right-Left
Tengo un campo varchar en una base de datos SQLServer que garantiza que es más largo que 7 caracteres. Necesito extraer un campo char (4) que consta de los 2º, 3º, 4º y 5º caracteres del varchar.
Por ejemplo, si el varchar tuviera el valor 1234567890, estaría buscando la pieza 2345.
¿Hay algún beneficio de rendimiento en el uso de una subcadena sobre un combo de derecha a izquierda?
SELECT SUBSTRING(account,2,4) FROM payment
o
SELECT RIGHT(LEFT(account,5),4) FROM payment
he notado una ligero ventaja mediante el uso de una derecha-izquierda sobre una mesa con 1,760,335 registros, pero no estoy seguro de si esto es debido a las consultas de caché o el me gusta.
ACTUALIZACIÓN He hecho un poco más de deberes. Parece que en este caso la derecha-izquierda se realiza finalmente como una subcadena derecha. ¿Es esta una regla? o es solo la forma en que SQLServer decidió desollar a este gato en particular?
única manera de estar seguro en su caso es comparar ... –