respetar primera minusculas minuscula mayusculas mayuscula letra initcap dinamico diferenciar convertir caracter cadena buscar sql oracle select indexing case-sensitive

sql - primera - respetar mayusculas y minusculas abap



Oracle-Seleccione donde el campo tiene caracteres en minĂºsculas (5)

Creo que el SQL de BQ y el segundo SQL de Justin funcionarán, porque en este escenario:

first_name last_name ---------- --------- bob johnson Bob Johnson BOB JOHNSON

Quiero que mi consulta devuelva las primeras 2 filas.

Pero me gustaría asegurarme de que esta sea una consulta eficiente: mi tabla tiene 500 millones de filas.

Cuando dices upper (first_name)! = First_name, ¿"first_name" pertenece siempre a la fila actual que Oracle está mirando? Al principio tenía miedo de usar este método porque temía terminar uniéndome a esta tabla, pero de la forma en que ambos escribieron el SQL, parece que la verificación de igualdad solo funciona fila por fila, lo cual me funcionaría

Tengo una tabla, usuarios, en una base de datos Oracle 9.2.0.6. Dos de los campos son varchar - last_name y first_name.

Cuando se insertan filas en esta tabla, se supone que los campos de nombre y apellido están en mayúsculas, pero de alguna manera algunos valores en estos dos campos son mayúsculas y minúsculas.

Quiero ejecutar una consulta que me muestre todas las filas de la tabla que tienen nombre o apellido con letras minúsculas.

Busqué en la red y encontré REGEXP_LIKE, pero debe ser para versiones más nuevas de Oracle, no parece funcionar para mí.

Otra cosa que intenté fue traducir "abcde ... z" a "$$$$$ ... $" y luego buscar un ''$'' en mi campo, ¿pero tiene que haber una forma mejor?

¡Gracias por adelantado!


Qué tal esto:

select id, first, last from mytable where first != upper(first) or last != upper(last);


SELECT * FROM mytable WHERE FIRST_NAME IN (SELECT FIRST_NAME FROM MY_TABLE MINUS SELECT UPPER(FIRST_NAME) FROM MY_TABLE )


para el servidor SQL donde la configuración de intercalación de DB es insensible a las mayúsculas y minúsculas, use lo siguiente:

SELECT * FROM tbl_user WHERE LEFT(username,1) COLLATE Latin1_General_CS_AI <> UPPER(LEFT(username,1))


Si está buscando Oracle 10g o superior, puede usar el siguiente ejemplo. Considere que necesita encontrar las filas donde la letra de una columna es minúscula.

Column1 ....... MISS miss MiSS

En el ejemplo anterior, si necesita encontrar los valores miss y MiSS , entonces podría usar la consulta siguiente

SELECT * FROM YOU_TABLE WHERE REGEXP_LIKE(COLUMN1,''[a-z]'');