Hola bienvenidos a este nuevo capítulo del curso completo de base de datos y vamos a ver en este capítulo
más funciones de nuestras tablas más funciones del motor.
Vamos a aprender que hay algunas funciones en las cuales no hace falta unir ni tablas ni campos.
Son funciones que operan directamente contra el motor y nos devuelve información pero vamos a ver primero
cuatro funciones básicas que tienen que ver con nuestras tablas con nuestros campos y que las vamos
a poder usar tanto al lado del Wear como del lado de la suma de campos.
La lista de campos ustedes van a ver que hay una sentencia IF Elif es un nombre universalmente usado
para condiciones pero yo se lo voy a explicar cómo funciona pero voy a hacer mucho hincapié en otra
sentencia llamada cais porque cuando ustedes aprendan el CAIS y pasen de mi ciclo así como el server
van a usar Keys no van a usar el Elif no está contemplado en el cual Server solamente van a usar el
keys y les va a servir para condiciones simples de una condición por True o por Fool's o van a poder
hacer realmente un Keys con múltiples condiciones y de varios valores vamos primero a ver lo más simple
que la sentencia IF y si ustedes solamente van a trabajar con mi ciclo les va a servir cuando manejen
solamente una condición porten o es cuando quieran hacer algo más complejo van a tener que usar la sentencia
keys.
Vamos primero al ejemplo más simple yo quiero que me traiga
mi Prov aided froto descripción y quiero que me muestra el estatus ahora al usuario final.
Muchos no entienden si hay un 1 un cero quiero que aparezca una palabra que le indique al usuario que
el producto está habilitado o Deshabilitado.
Cómo se hace eso.
Vamos a hacerlo primero con IF
Prod status es igual a 1.
Le vamos a colocar una coma después de la primera coma lo que va es que tiene que mostrar si es verdadera
la condición si es igual a 1 o va a mostrar esto.
Ahora si se va por él o sea por la negativa que estátus no es igual a uno va a mostrar esto otro
se entiende.
Y a esto le puedo poner un alias de que de mi tabla productos vamos a ejecutarlo.
Fíjense mi aided mi descripción y por cada producto me avisa si está habilitado o en el caso deshabilitado.
Para esto sirve Elif para meter una condición y en base al resultado que le dé la tabla va a poder generar
una operación o o la otra.
Aquí puedo hacer que muestre estas palabras o puedo hacer otra cosa ahora.
Qué pasa si yo necesito evaluar más de dos condiciones si es habilitado deshabilitar o.
Supongamos que tengamos que evaluar 10 condiciones diferentes.
Bueno para eso se usa otra instrucción no la función IHF sino que se usa la función keys y tiene una
sintaxis muy diferente.
Vamos a ver cómo sería cais evaluable cuando recuerden que el lenguaje se cueles como hablar en inglés.
Evaluamos cuando Prod status sea igual a uno.
Entonces vamos a mostrar habilitado o por lo contrario vamos a mostrar des habilitado y todos los cais
terminan con un End siempre terminan con un End y yo aquí podría decir que cuando sea pero de estatus
igual a uno adentro a otro cais con otro campo y al día dentro de cada condición de ese otro cais otro
keys y Keys anidados todos los que yo quiera vamos a ejecutar
y acá si yo no le pongo un alias me va a mostrar todo esto como
me olvidé las mías.
Hoy estamos fijense todos lo mismo hace lo mismo pero qué pasa si vamos a jugar un poquito con los gatos
vamos a quitar esto
y vamos a agregar otro buen ya no vamos a tener una porque vamos a tener muchos estados y aquí yo voy
a agregar
fíjense que prolijo que queda no queda mucho más prolijo
queda mucho más prolijo verdad.
Y aquí yo podría tener un tercer Estado
lo que pasa es que en este ejemplo práctico que estamos viendo no me va a mostrar nunca este mensaje
porque invitarlas solo tengo uno cero pero quiero que vean cómo sería la sintaxis y así sucesivamente.
Ahora yo puedo poner
como lo puse antes o como lo estoy poniendo ahora cuando yo tengo que evaluar muchas condiciones de
un mismo campo en lugar de poner cais cuando el estatus sea igual a una.
Fíjense que aquí desapareció el igual asume que lo que le estoy colocando acá es una comparación por
igual puedo poner el campo por fuera del web y ahí me queda mucho más prolijo inclusive esto sólo podría
bajar aquí y queda mucho más prolijo.
Tengo mi cais con mi campo.
Bueno cuando sea 1 mostrarme esto cuando sea 2 devolverme esto cuando sea perdónanos sea cero esto y
cuando sea 2 devolverme esta terminal cais y a todo eso llamarlo Estado fíjense por qué en 5 al server
eliminaron Elif porque no tenía sentido tener un hijo por un lado cuando lo puedo hacer con una sola
sentencia y la gente tiene que aprender una sola sentencia así que usen siempre que ese es mi consejo
es mucho más prolijo visualmente lo pueden intentar como yo lo hice aquí y lo pueden usar tanto en la
parte de campos como en la cláusula Wear la cláusula Wer pueden hacer lo mismo cuando el campo cuando
un CAIS de un campo sea igual a tal y pueden ahí poner una condición sin ningún problema.
Esto es muy usado.
Con esto me encuentro cada día en desarrollo esto es algo que le da mucho sentido a la sentencia y le
da mucho sentido a al lenguaje SQL y no solo sirve no solo sirve para mostrar un valor literal como
lo pongo yo sino que yo aquí podría tener un cálculo matemático.
Podría decir bueno cuando está habilitado sumarme a Abbe cuando está deshabilitado multiplica me da
por ver más de cuenta que estoy poniendo a nombre de campo yo ahora no no quiero perder tiempo con esto
aquí voy a dividir o voy a ser o voy a ser una sentencia Cele aquí voy a hacer una sentencia Cele una
consulta que me devuelva un solo campo con una sentencia celeb totalmente compleja con mi Group voy
con mi Kombi wear con mi Order voy con mi clãusulas con todo lo que ustedes quieran y lo pueden hacer
para que cuando el estatus sea una me devuelva un campo de otra tabla se dan cuenta de la potencia de
esto esto no tiene límite.
Esto no tiene límite ustedes van a tener que ir jugando con esto yo los voy a ayudar si tienen alguna
algún ejercicio difícil o en la universidad o en el trabajo que quieren resolver lo pueden plantear
en el panel de consultas y si no si no se los contesta otro usuario yo siempre voy a darles respuesta
así que no se preocupen vamos a ir practicando esto porque luego al final del curso viene toda una sección
con ejercicios que yo les voy a ir tirando que les voy a ir planteando para que Uds. vayan resolviendo
y yo por supuesto los voy a hacer en pantalla también para que veamos los resultados y la complejidad
que podemos darle a nuestro lenguaje se cuela.
Esta es una de las funciones que vamos a ver en este capítulo en la función cais y ahora vamos a ver
otra función mucho más simple mucho más rudimentaria que es el suvez string
suvez tren.
Si ustedes han programado en algún lenguaje ya se darán cuenta lo que hace me toma una porción de un
campo de texto y me la muestra por una columna.
Por ejemplo yo quiero las diez primer los diez primeros caracteres de mi descripción de producto y lo
quiero en una columna aparte entonces pongo su Vestrynge prop descripción coma uno coma diez o sea que
arranque del primer carácter me cuenta 10 caracteres es como que le hagan un Parse que lo que lo corte
y me lo muestre en una columna aparte.
Y esto lo voy a llamar parte
fíjense en mi columna parte me trae las 10 primeros caracteres de todas mis descripciones que tengo
al
se podría llegar a usar para que cuando por ejemplo se puede usar perfectamente en un cais fíjense coloco
cais su Vestrynge de descripción coma uno hay avaluar la primera letra de mi descripción entonces coloco
when a dén y voy a mostrar letra
vamos a hacerlo van dos letras nada más pues me den letra y vamos a cerrar el CAIS y esto lo vamos a
llamar ejercicio no vamos a perder tiempo con eso.
Fíjense cuando la primer letra nada me pone letra cuando es una vez me pone letra y como no le especifica
el resto de las letras me coloca nublo en la celda fíjense la combinación ustedes van a poder combinar
funciones función de su Vestrynge con el CAIS y a su vez hacer todo tipo de dejuego con mis datos Banat
no van a tener límite no tienen que preocuparse por sí pero tengo grabada la descripción y van a poder
convertir esta letra.
A su vez en mayúsculas antes del Cais coloco la función o cais y donde termina leen cierro el paréntesis
fíjense que letra tiene la 1ª en mayúscula minúscula ahora no.
Convertí ese texto todo en mayúscula con la función o CAIS.
Ahora yo podría estar de aquí al 2025 viendo cada función ustedes tienen que aprovechar las bondades
del Jaydy SQL y meterse en funciones SQL y explorar cada una de éstas centenares de funciones que tenemos
porque van a ver que van a poder hacer lo que quieran van a poder formatear los datos que vienen de
las tablas.
Y antes de mostrarlos en la pantalla o de grabarlos en otras tablas van a poder formatear los quitarles
espacios convertirlos de un tipo de dato a otro hacer búsquedas de string uno uno dentro del otro y
van a poder concatenar y hacer funciones de fecha funciones de números enteros funciones de string.
Hay muchísimas y a medida que va avanzando el tiempo el lenguaje va cambiando de versión y se van agregando
más funciones y más funcionalidades así que esto es para que ustedes lo tengan en mente que no hay limite
la potencia y vamos a ver ahora algunas funciones que me permite el motor sin necesidad de decirle que
vaya a leer a una tabla sin necesidad de listar campos de ninguna tabla simplemente con la sentencia
SELECT.
Supongamos que tiene un desarrollo y quieren capturar no sé la hora del día la hora del momento y se
lo piden al motor de base de datos para sincronizar y basarse en la hora del motor y no la hora de la
PC.
Vamos a ver primero algunas funciones las vamos a ver en orden primero vamos a ver la que nos devuelve
la fecha
la función Escarré Carrandi
primero vamos a ver la función.
Vamos a ver la función Carre en Daguet
ejecutamos y me dice la fecha del día.
Así que si están viendo este video van a saber que en este momento es el 13 de febrero del 2019.
Fíjense aquí no dije ni from ni lista de campos ni Wer ni nada simplemente un Karembeu y nos devuelve
por supuesto en el formato que maneja Maisí con las fechas el año en el mes y el día.
Ahora si en lugar de Daguet yo coloco Time me aparece la hora de este momento a ver si vamos a hacer
algo más completo.
El carro en Times ahí está me une el carro en Times Stam lo que hace me une la fecha con la hora y me
lo devuelve en un campo.
Ahora esto ustedes lo podrían mezclar con campos de la base de datos.
No es que ejecuto De esta manera una sentencia Selleck o de la otra puedo nombrar Campos y tablas lo
pueden mezclar.
Pueden decirme que me traiga el Aidé from productos y que aparte me traiga la fecha.
Lo que pasa es que me va a repetir la fecha y la hora en todos los registros pero esto lo hago para
que ustedes vean que en una consulta que involucra campos e involucra tablas ustedes podrían agregar
ciertas funciones que no van a ir a buscar a las tablas el resultado sino que son funciones que operan
directamente contra el motor y contra el servidor de base de datos a ver si tengo alguna otra.
Vamos a reemplazar esta por el nombre de la base de datos
la base de datos en la que estamos consultando productos es la base de datos curso tiene razón me da
el nombre de la base de datos esto para algún desarrollo puede ser útil.
Tenemos funciones para calcular las diferencias entre una fecha por ejemplo del 2018
el primero de enero y lo separamos con Koma y le ponemos otra fecha
la serie se llama fechas y me dice la cantidad en días que transcurrieron desde el primero de enero
hasta el primero de junio del 2018.
Se entiende me lo ponen negativo porque toma esta fecha como la mayor y esta como la menor.
Yo lo puse al revés si ustedes quieren que les devuelva un valor absoluto en positivo colocan la fecha
mayor primero y la fecha.
Esto es indistinto inclusive aquí podrían usar una función que en lugar de poner a ustedes literalmente
una fecha ustedes tomar una fecha de un campo de la base de datos y otra fecha la fecha del día se entiende
pueden poner la fecha de ventas de la tabla ventas aquí y la tabla de el día actual.
Aquí yo no lo probé pero lo podemos probar vamos a poner aquí por supuesto la fecha actual
Carrón y aquí vamos a poner puede fallar porque no lo probé nunca tuve que usarlo de esta manera.
Siempre lo hice a nivel programático con la fecha de la computadora.
Vamos a ver y aquí tendríamos que poner la tabla de ventas.
No tiene sentido mostrar el producto y lo que podemos mostrar es ventas números factura
bueno parece que está funcionando.
Fijense desde el día de hoy al día que yo tengo reseteado vamos a mi tabla ventas al día que tengo reseteado
que es el año pasado primero de enero 2 de enero 3 de enero haz el cálculo y dice que pasaron cuatro
404 días desde esa fecha hasta hoy.
Fíjense la potencia de esto y me lo trae todo en nada.
Estamos hablando de milésimas de segundo hizo el cálculo de la cantidad de días siempre me lo devuelven
días ok.
A medida que voy bajando y la fecha va incrementándose en mi tabla de ventas me va dando un día menor.
Tiene lógica así que esto es un mundo de posibilidades.
Yo les pido que ustedes jueguen y jueguen y jueguen con las con las funciones.
Puedo hablar de una última función muy útil que es que es el Day of Week del día actual o de o de la
tabla ventas esto lo pueden manejar ustedes y me dice que hoy es el día número 4 en la semana.
Tiene lógica.
Hoy es día miércoles saben que los días empiezan a contar a partir del domingo.
El domingo es el primer día lunes martes miércoles.
Hoy es el día número 4 de la semana.
Bueno espero que les haya gustado este entretenido capítulo.
Vamos a prácticamente dejar de lado por un momento la sentencia Cele esto es todo lo que teníamos que
ver por supuesto nos queda mucha práctica muchos ejercicios por delante para afianzar conocimientos
y nos vamos a meter en la próxima clase a aprender cómo insertar registros en nuestras tablas.
Me refiero a la instrucción insert.
Y lo vamos a aprender en nuestro próximo capítulo.
Les pido que vayamos a ese capítulo y sigamos aprendiendo nos vemos en el próximo capítulo.