El manual de referencia trae todas las explicaciones que se necesitan sobre esos temas.
Y no te ofendas, pero es lo mismo que hacemos todos los que trabajamos profesionalmente en BBDD, porque
nadie se pone a memorizar
todo. Y menos aún cuando los manuales son tan claros...
Para SUBSTRING_INDEX():
http://dev.mysql.com/doc/refman/5.0/...functions.html
Para CAST:
http://dev.mysql.com/doc/refman/5.0/...functions.html
Y para los tipos de datos numéricos:
http://dev.mysql.com/doc/refman/5.0/...ric-types.html
Como sea, lo básico es que el tipo e dato numerico determina el rango de numeros útiles, y cuando tiene signo ese rango se reduce a la mitad.
Si alguna vez has programado en C++, C o VB.Net, debes concoer los tipos numericos de 8, 16, 32 y 64 bits. MySQL los ha heredado de C++.