Está en: » Artículos »

Funciones para mssql (Microsft SQL Server)

Funciones para mssql (Microsft SQL Server)

Aquí os dejo una serie de funciones/sentencias para Microsoft SQL Server (mssql)

Mayúsculas y minúsculas:
SELECT UPPER(Nombre), LOWER(Apellido) FROM estudiantes

Eliminar espacios:
SELECT LTRIM('            Aijuna!')
SELECT RTRIM('Nanuk              ')

Longitud de un valor en un campo:
SELECT LEN(Nombre) FROM estudiantes

Función sub string: args(string, inicio, longitud)
SELECT SUBSTRING('Eoden',1,3)

Función buscar índice de caracter: args(char, string[, a partir de cuál])
SELECT CHARINDEX('n','Fernando', 5)

Función espacio:
– SET @valor = SPACE(9)

Función convertir a string:
STR(int)

Declaración de variables:
Formato:
DECLARE @NombreVar tipo
SET @NombreVar = Valor
Ejemplo:
DECLARE @Nombre char(8)
DECLARE @Apellido char(6)
DECLARE @valor char(50)
DECLARE @Edad smallint
SET @Edad = 41
SET @valor = 'Fernando Briano'
SET @Nombre = Substring(@valor, 1, (charindex(' ', @valor) - 1 ))
SET @Apellido = Substring(@valor, (charindex(' ', @valor) + 1), LEN(@valor))
SELECT @Nombre + ' ' + @Apellido + ' - edad: ' + CONVERT(char(3), @Edad) + ' años'
CONVERT:
CONVERT(Tipo, Campo o expresión, estilo)

El estilo en las FECHAS:
103 muestra: 23/05/1986
112 muestra: 19660523
114 muestra: hora

FUNCIONES CON FECHAS
DATEADD(partefecha (dd, mm, yy), número, fecha)
SELECT CONVERT(char(10), getdate(), 103)
SELECT DATEADD(dd, 3, getdate())
DATEDIFF(partefecha, fecha1, fecha2)

Resta la parte de la fecha = fecha2 - fecha1
SELECT DATEDIFF(yy,  '19850707', getdate())
SELECT DATEDIFF(yy,FechaNac, getdate()) FROM Estudiantes

DATEPART([dd,mm,y, dw(día de la semana)], fecha)
SELECT DATEPART(yy, getdate())
SELECT DATENAME(mm, getdate())
SELECT DAY(getdate())
SELECT E.Nombre, DATEDIFF(yy, E.FechaNac, getdate()) AS Edad,
C.Descripcion , DATEDIFF(dd, FechaIngreso, getdate()) AS Antiguedad
FROM estudiantes AS E, estudiantes_curso AS EC, cursos AS C
WHERE EC.IdEstudiante = E.Ci

Redondear valores:
SELECT ROUND(479.90, -1)
ISDATE(campo)
Devuelve 1 si el campo contiene una fecha válida, sino devuelve 0
Valor nulo no es de tipo fecha

ISNUMERIC(campo)
Devuelve 1 si el campo contiene un valor numérico, sino devuelve 0

SELECT ISDATE(FechaIngreso) FROM estudiantes
IDENTIFICADOR UNICO:

DECLARE @Identificador UNIQUEIDENTIFIER
SET @Identificador = NEWID()
SELECT @Identificador
La función NEWID solamente funciona para columnas que hayan sido declaradas como UNIQUEIDENTIFIER

FUNCIONES DEL SISTEMA
Generalmente llevan “@@” adelante. Para encontrarlas, en la ayuda se puede buscar el string @@ que nos va a mostrar la mayoría de las que hay.

@@ROWCOUNT
Devuelve el número de filas afectadas por la última instrucción
Queda en cero cuando hubo error o no se realizó la instrucción.

SELECT * FROM estudiantes
SELECT @@rowcount AS Columnas
UPDATE estudiantes SET FechaEgreso = '07/07/2007' WHERE Nombre='Eustakio'
IF @@ROWCOUNT = 0 PRINT 'Santos Jalapeños enchilados Batman! No ha funcionado'
@@ERROR
Devuelve 0 si no hubo error, o distinto de cero con un código específico (véalo en el manual) con el error

@@IDENTITY
Muestra el último identity de la tabla. O sea, si por ejemplo hacemos una columna con valor int que va autoincrementando, y es identidad, al seleccionar éste valor, nos devuelve el último insertado.

Ver el usuario actual con el que se está logueado:

SELECT CURRENT_USER

ESTRUCTURA IF
IF
BEGIN
--		SENTENCIAs
END
ELSE
BEGIN
--		SENTENCIAS
END

Ver mensajes del sistema:

Para usar la tabla master:
USE master

ó agregar la “ruta absoluta”:
SELECT * FROM master.dbo.sysmessages

Fuentes:

http://picandocodigo.net/2007/08/funciones-mssql/

Comentarios

Deje su comentario

Previsualización de comentario
  1. Anónimo dice: