Depende del gestor
https://dev.mysql.com/doc/refman/8.0/en/working-with-null.html
En mi caso la aplicación es en condicionales, campo1 = campo2 & campo4 = campo5, 1 y uno de los campos era null y la condicional me devolvia null
Depende del gestor
https://dev.mysql.com/doc/refman/8.0/en/working-with-null.html
En mi caso la aplicación es en condicionales, campo1 = campo2 & campo4 = campo5, 1 y uno de los campos era null y la condicional me devolvia null
https://stackoverflow.com/questions/7039938/what-does-select-1-from-do
I read some articles but really didn't understand what does select 1 from do? Someone says "you should use select 1 instead of select *". Here is an example table:
cust_id cust_name cust_address
1000000001 Village Toys Mapl
1000000002 Kids Place South
1000000003 Fun4All Sunny
1000000004 Fun4All Riverside
1000000005 The Toy Store 53rd
What will the result be when I write select 1 from customer_table what does this statement do?
-------------
select 1 from table
will return a column of 1's for every row in the table. You could use it with a where statement to check whether you have an entry for a given key, as in:
if exists(select 1 from table where some_column = 'some_value')
What your friend was probably saying is instead of making bulk selects with select * from table, you should specify the columns that you need precisely, for two reasons:
1) performance & you might retrieve more data than you actually need.
2) the query's user may rely on the order of columns. If your table gets updated, the client will receive columns in a different order than expected.
USE AdventureWorks; GO SELECT SalesOrderID, SUM(LineTotal) AS SubTotal FROM Sales.SalesOrderDetail sod GROUP BY SalesOrderID ORDER BY SalesOrderID ; GO
PORQUE EL COTEJAMIENTO latin1_swedish_ci ES EL QUE ESTA POR DEFECTO
Por lo que yo puedo ver, latin1 fue el juego de caracteres predeterminado en los tiempos pre-multibyte (MySQL 4.1 hacia atras)y su cotejamiento por defecto era latin1_swedish_ci y parece que ha sido continuado, probablemente por razones de compatibilidad hacia abajo (porejemplo, para antiguas sentencias CREATE en las que no especificaron una cotejamiento).
En cuanto a por qué sueco, sólo puedo suponer que es porque MySQL es de una compañía sueca. No puedo ver ninguna otra razón para elegir este cotejamiento
**************
OJO AL COLLATION LO TRADUCEN COMO COTEJAMIENTO O COLACION
***********
CREATE TABLE `visitas_tmp` ( `id` int(11) default NULL, `user_agent` varchar(255) default NULL, `permalink` varchar(255) default NULL, `created_at` datetime default NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;
*******
**************************************************************************************************http://cambio.name/personal/content/%C2%BFqu%C3%A9-es-eso-de-ascii-iso-8859-1-y-utf-8
character-set-server=latin1
collation-server=latin1_spanish_ci
default-character-set=latin1
default-collation=latin_spanish_cidefault_charset="iso-8859-1"AddDefaultCharset ISO-8859-1***********Aunque parece ser un tema menor, la verdad es que hay harto que pensar y decidir detrás de los CHARSETs y COLLATIONs. Por el lado del CHARSET, aunque parezca como mejor opción utilizar siempre UTF8, hay casos en que resulta totalmente inútil: si queremos guardar una cadena cuyo valor sabemos que no contendrá valores distintos del alfabeto, es mejor ocupar ASCII y de esa forma estar seguros que no se pueden ingresar caracteres inválidos. Por otro lado, si estamos seguros de que nuestra aplicación nunca jamás tendrá otro idioma que no sea español, también podemos utilizar latin1, aunque hay que tener cuidado en hacer los ajustes necesarios en todos aquellos lados donde podría haber una influencia de otro set de caracteres.El tema del COLLATION sí es un poco más extenso ya que dependerá mucho del cómo se efectúen las búsquedas y también el idioma en que estemos trabajando. MySQL asigna utf8_general_ci como COLLATION predeterminado de UTF-8, pero éste presenta algunos problemas en hebreo y en algunas localizaciones de idiomas cirílicos; principalmente bielorruso, macedonio, serbio y ucraniano; así que para estos casos resulta mejor ocupar utf8_unicode_ci, la que tampoco está exenta de polémica ya que es más lento que utf8_general_ci.Como gran conclusión: traten de usar UTF-8 como CHARSET donde sea posible, y si quieren tener velocidad vayan por utf8_general_ci como COLLATION pero si quieren tener certeza de que todo está bien ordenado y que sea compatible con (casi) todos los idiomas del mundo ocupen utf8_unicode_ci. (YO USARE utf8_spanish_ciEL ARCHIVO MY.INI CONTIENE ESTO#collation_server=utf8_unicode_ci#character_set_server=utf8OJO OTRA COSA: Ojo que en MySQL, la codificación UTF-8 no existe! Sólo existe utf8 (en minúsculas sin raya) y por supuesto latin1, que sería el equivalente a ISO-8859-1.
http://blog.unreal4u.com/2012/08/sobre-collation-y-charset-en-mysql/)
SELECT * FROM table WHERE field COLLATE utf8_bin LIKE '%º%';
***************
http://www.rae.es/consultas/exclusion-de-ch-y-ll-del-abecedario
Exclusión de ch y ll del abecedario
Se excluyen definitivamente del abecedario los signos ch y ll, ya que, en realidad, no son letras, sino dígrafos, esto es, conjuntos de dos letras o grafemas que representan un solo fonema. El abecedario del español queda así reducido a las veintisiete letras siguientes: a, b, c, d, e, f, g, h, i, j, k, l, m, n, ñ, o, p, q, r, s, t, u, v, w, x, y, z.El español se asimila con ello al resto de las lenguas de escritura alfabética, en las que solo se consideran letras del abecedario los signos simples, aunque en todas ellas existen combinaciones de grafemas para representar algunos de sus fonemas.La eliminación de los dígrafos ch y ll del inventario de letras del abecedario no supone, en modo alguno, que desaparezcan del sistema gráfico del español. Estos signos dobles seguirán utilizándose como hasta ahora en la escritura de las palabras españolas: el dígrafo ch en representación del fonema /ch/ (chico [chíko]) y el dígrafo ll en representación del fonema /ll/ o, para hablantes yeístas, del fonema /y/ (calle [kálle, káye]). La novedad consiste, simplemente, en que dejan de contarse entre las letras del abecedario.Al tratarse de combinaciones de dos letras, las palabras que comienzan por estos dígrafos o que los contienen no se alfabetizan aparte, sino en los lugares que les corresponden dentro de la c y de la l, respectivamente. La decisión de adoptar el orden alfabético latino universal se tomó en el X Congreso de la Asociación de Academias de la Lengua Española, celebrado en 1994, y viene aplicándose desde entonces en todas las obras académicas.- See more at: http://www.rae.es/consultas/exclusion-de-ch-y-ll-del-abecedario#sthash.RqSNK4Kn.dpuf
_ci(no distingue entre mayúsculas y minúsculas), _cs (distingue entre mayúsculas y minúsculas), o _bin(binario).MyISAM, MEMORY, NDBCLUSTER, andInnoDB storage engines.<?php
header('Content-Type: text/html; charset=UTF-8'); ?>SELECT * FROM `usuarios` WHERE `nombre` = 'jose'SELECT * FROM `usuarios` WHERE `nombre` = 'josé' COLLATE utf8_binSELECT * FROM `usuarios` WHERE UPPER(`nombre`) = UPPER('josé) COLLATE utf8_bin