lunes, 18 de marzo de 2019

Funciones de texto o cadena SQL SERVER

Las funciones de texto en SQL Server realizan operaciones sobre cadenas de caracteres o contenido de los campos de tipo carácter y devuelven un valor de cadena o un valor entero.

Las funciones de SQL que permiten el manejo de cadenas de caracteres son:
FunciónExplicación
ASCIIRetorno el valor ASCII del primer caracter
LTRIMElimina espacios en blanco iniciales
SPACEDevuelve una cadena de espacios
STRConvierte un dato a tipo cadena de caracteres
CONCATConcatena cadenas de caracteres
STUFFInserta una cadena en otra
REPLACEReemplaza una cadena por otra
SUBSTRINGExtrae una cantidad de caracteres de una cadena
REPLICATERepite una cadena de caracteres
LEFTObtiene caracteres de la izquierda
REVERSEInvierte la escritura de una cadena
UPPERConvierte a mayúsculas
LENObtiene la longitud de la cadena
RIGHTDevuelve caracteres de la derecha
LOWERConvierte a minúsculas
RTRIMElimina los espacios en blanco del final de una cadena de caracteres

Ejemplos

— Quita los espacios en blanco, reemplaza los espacios en blanco por una cadena sin caracteres.
select REPLACE(‘SQL Server Manual Profesional’,’ ‘,”)
go
— Resultado: SQLServerManualProfesional
— Cuarta letra del apellido en mayúscula
SELECT Upper(SUBSTRING(Replace(‘Del Castillo’,’ ‘,”),4,1))
go
— Resultado: C
— REVERSE invierte la cadena de caracteres.
select REVERSE(‘Un gestor de base de datos’)
go
— Resultado: sotad ed esab ed rotseg nU
— Reemplazo de caracteres
select stuff(‘Funciones de texto y cadena’,14, 5,’Fechas y Horas’)
go
— Resultado: Funciones de Fechas y Horas y cadena
— Repetir una cadena, aparece la palabra Gol con puntos suspensivos 20 veces
select REPLICATE(‘Gol… ‘,20)
go
— Obtener el valor ASCII del primer carácter
select ascii(‘Autentico’)
go
— Resultado: 65, la letra A mayúscula
— Elimina los espacios en blanco iniciales, Len obtiene la longitud.
select len(LTRIM(‘        Hola ‘))
go
— Resultado: 4 que son los caracteres de la palabra Hola
— Elimina los espacios de la derecha
select len(rTRIM(‘    Hola ‘))
go
— Resultado: 7, antes de la palabra Hola hay 03 espacios.
— Concatenar
select Upper(‘Alberto debe ‘) + ltrim(Str(800)) + Space(1) + lower(‘dólares’)
go
— Resultado: ALBERTO DEBE 800 dólares
— En mayúsculas
select concat(Upper(‘Alberto debe ‘), ltrim(Str(800)) , Space(1) , lower(‘dólares’))
go
— Función Left
select left(‘SQL Server’,5)
go
— Resultado: SQL S
— Función Right
select upper(Right(rtrim(‘Base de Datos ‘),5))
go
— Resultado: DATOS
— Extraer caracteres, desde la posición 3 extrae 5 caracteres
SELECT SUBSTRING(‘Gestor de Negocios’,4,8)
go
— Resultado: tor de N
— Desde la posición 4 extrae un carácter.
SELECT SUBSTRING(‘Comercial’,4,1)
go
— Resultado: e
— Replace, reemplaza la letra a por el número 4
select REPLACE(‘Este mensaje es el original’,’e’,’3′)
go
— Resultado: 3st3 m3nsaj3 3s 3l original

Share:

lunes, 11 de marzo de 2019

SQL Funciones para el uso de fechas y horas


Microsoft SQL Server ofrece algunas funciones para trabajar con fechas y horas. Estas son algunas:

- getdate(): retorna la fecha y hora actuales. Ejemplo: select getdate();


- datepart(partedefecha,fecha): retorna la parte específica de una fecha, el año, trimestre, día, hora, etc.

Los valores para "partedefecha" pueden ser: year (año), quarter (cuarto), month (mes), day (dia), week (semana), hour (hora), minute (minuto), second (segundo) y millisecond (milisegundo). Ejemplos: select datepart(month,getdate());


retorna el número de mes actual; select datepart(day,getdate());


retorna el día actual; select datepart(hour,getdate());


retorna la hora actual;

- datename(partedefecha,fecha): retorna el nombre de una parte específica de una fecha. Los valores para "partedefecha" pueden ser los mismos que se explicaron anteriormente. Ejemplos: select datename(month,getdate());


retorna el nombre del mes actual; select datename(day,getdate());


- dateadd(partedelafecha,numero,fecha): agrega un intervalo a la fecha especificada, es decir, retorna una fecha adicionando a la fecha enviada como tercer argumento, el intervalo de tiempo indicado por el primer parámetro, tantas veces como lo indica el segundo parámetro. Los valores para el primer argumento pueden ser: year (año), quarter (cuarto), month (mes), day (dia), week (semana), hour (hora), minute (minuto), second (segundo) y millisecond (milisegundo). Ejemplos: select dateadd(day,3,'1980/11/02');


retorna "1980/11/05", agrega 3 días. select dateadd(month,3,'1980/11/02');


retorna "1981/02/02", agrega 3 meses. select dateadd(hour,2,'1980/11/02');


retorna "1980/02/02 2:00:00", agrega 2 horas. select dateadd(minute,16,'1980/11/02');


retorna "1980/02/02 00:16:00", agrega 16 minutos.

- datediff(partedelafecha,fecha1,fecha2): calcula el intervalo de tiempo (según el primer argumento) entre las 2 fechas. El resultado es un valor entero que corresponde a fecha2-fecha1. Los valores de "partedelafecha) pueden ser los mismos que se especificaron anteriormente. Ejemplos: select datediff (day,'2005/10/28','2006/10/28');


retorna 365 (días). select datediff(month,'2005/10/28','2006/11/29');


retorna 13 (meses).

- day(fecha): retorna el día de la fecha especificada. Ejemplo: select day(getdate());


- month(fecha): retorna el mes de la fecha especificada. Ejemplo: select month(getdate());


- year(fecha): retorna el año de la fecha especificada. Ejemplo: select year(getdate());


Se pueden emplear estas funciones enviando como argumento el nombre de un campo de tipo datetime o smalldatetime.
Servidor de SQL Server instalado en forma local.

Ingresemos el siguiente lote de comandos en el SQL Server Management Studio:

if object_id ('libros') is not null drop table libros; create table libros( titulo varchar(40) not null, autor varchar(20) default 'Desconocido', editorial varchar(20), edicion datetime, precio decimal(6,2) ); go set dateformat ymd; insert into libros values('El aleph','Borges','Emece','1980/10/10',25.33); insert into libros values('Java en 10 minutos','Mario Molina','Siglo XXI','2000/05/05',50.65); insert into libros values('Alicia en el pais de las maravillas','Lewis Carroll','Emece','2000/08/09',19.95); insert into libros values('Aprenda PHP','Mario Molina','Siglo XXI','2000/02/04',45);

 -- Mostramos el título del libro y el año de edición:

 select titulo, datepart (year,edicion) from libros;

 -- Mostramos el título del libro y el nombre del mes de edición: 

select titulo, datename (month,edicion) from libros;

 -- Mostramos el título del libro y los años que tienen de editados: 

select titulo, datediff(year,edicion,getdate()) from libros;

 -- Muestre los títulos de los libros que se editaron el día 9, de cualquier mes de cualquier año:

 select titulo from libros where datepart(day,edicion)=9;
Share:

Salmos 23

El Señor es mi pastor, nada me faltará. 2 En lugares de verdes pastos me hace descansar; junto a aguas de reposo me conduce. 3 El restaura mi alma; me guía por senderos de justicia por amor de su nombre. 4 Aunque pase por el valle de sombra de muerte, no temeré mal alguno, porque tú estás conmigo; tu vara y tu cayado me infunden aliento. 5 Tú preparas mesa delante de mí en presencia de mis enemigos; has ungido mi cabeza con aceite; mi copa está rebosando. 6 Ciertamente el bien y la misericordia me seguirán todos los días de mi vida, y en la casa del Señor moraré por largos días.