tengo una consulta de la siguiente manera:llamada de función en la cláusula WHERE
SELECT * FROM Members (NOLOCK)
WHERE Phone= dbo.FormatPhone(@Phone)
Ahora aquí entiendo que el formato tiene que ser aplicado sobre la variable en la columna. Pero debo aplicarlo en variable para asignarlo a alguna otra variable local y luego usarlo (como se muestra a continuación).
Set @SomeVar = dbo.FormatPhone(@Phone)
SELECT *
FROM Members (NOLOCK) WHERE Phone= @SomeVar
¿Qué camino es mejor o ambos son buenos?
EDIT: ¿Y cómo es diferente de la primera consulta
SELECT * FROM Members (NOLOCK)
WHERE dbo.FormatPhone(Phone) = @Phone
Revisé la publicación y se trata de no usar NOLOCK con las instrucciones Actualizar/Insertar. t ver por qué es un problema aquí? –
¿Quiere decir uso con (nolock) en lugar de NOLOCK? –
¿Tiene * intención * de leer datos no comprometidos? ¿O agregó NOLOCK como solución para problemas de concurencia? –