Funciones para mssql (Microsft SQL Server)
Enviado por miguelcarmona :: 15 de octubre de 2008
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:
Todas las entradas