¿Consulta de búsqueda de text completo SQL?

Estoy tratando de implementar una búsqueda de text completo en una tabla de inicio de session y cuando estoy ejecutando la consulta respectiva, a continuación se muestran mis observaciones:

Cuando estoy ejecutando la siguiente consulta implementando la búsqueda de text completo, puedo search aproximadamente 1665 filas

select * from t_user where contains(LOGIN_ID, '"*david*" ) 

pero al implementar la consulta similar sin usar la búsqueda de text completo con el siguiente text, está devolviendo 1872 filas

 select * from T_USER where LOGIN_ID like '%david%' 

Cuando busqué los datos en mi tabla, llegué a la conclusión de que cuando estoy usando la palabra key contiene, descuida la fila que tiene ID de inicio de session como DDAVID_D o puedo decir que solo devuelve filas que tienen las palabras de David separadas como DAVID_FRANK .

¿Hay alguna forma de search una palabra entre las palabras (como search David entre DDavidFrank o search entre palabras largas y continuas para la cadena de david como en DDAVIDFRANK) para implementar la búsqueda de text completo de manera efectiva?

tratar

 WHERE FREETEXT(LOGIN_ID, 'david') OR CONTAINS(LOGIN_ID, 'david')"