12/18/2014 09:42:00 a. m.
Share:
Blog Informático sobre Análisis y Desarrollo de Software.
-- -- create function [dbo].[fni_Split] ( @Cadena nvarchar(max), @Delimitador nvarchar(5) ) RETURNS @TblRetorno table ( Id int identity(1,1), Dato nvarchar(max) ) AS BEGIN While (Charindex(@Delimitador,@Cadena)>0) Begin Insert Into @TblRetorno (Dato) Select Dato = ltrim(rtrim(Substring(@Cadena,1,Charindex(@Delimitador,@Cadena)-1))) Set @Cadena = Substring(@Cadena,Charindex(@Delimitador,@Cadena)+1,len(@Cadena)) End Insert Into @TblRetorno (Dato) Select Dato = ltrim(rtrim(@Cadena)) Return END
-- -- Create FUNCTION [dbo].[fnr_ireCalcularIntervaloAnios](@FechaInicio datetime, @FechaFin datetime) returns int as begin declare @anios int if @FechaFin is null set @FechaFin = getdate() set @anios = (((365* year(@FechaFin))-(365*(year(@FechaInicio))))+ (month(@FechaFin)-month(@FechaInicio))*30 +(day(@FechaFin) - day(@FechaInicio)))/365 return @anios end GOPara ejecutar la función podemos usar:
-- -- set dateformat dmy -- para poder trabajar con fechas en formato dia/mes/año -- es valido solo para la ventana de consultas select dbo.[fnr_ireCalcularIntervaloAnios] ('10/12/2004', '17/12/2010') select dbo.[fnr_ireCalcularIntervaloAnios] ('24/04/2004', null)
-- -- SELECT * FROM Paciente WHERE FechaNacimiento = '19820827'
-- -- SELECT * FROM Paciente WHERE convert(varchar(10), FechaNacimiento, 103) = '27/08/1982'Así, la fecha consultada sería reconocida como el 27 de agosto de 1982. En el caso que quiera consultar dentro de un procedimiento almacenado, lo realizaría utilizando, sería de la siguiente manera:
create procedure sp_ObtenerPacientesSegunFechaNacimiento @FechaNacimientoConsulta datetime as SELECT IdPaciente, Nombres, Apellidos FROM Paciente WHERE convert(varchar(10), FechaNacimiento, 103) = convert(varchar(10), @FechaNacimientoConsulta, 103)
using System.Web;En este caso estoy creando un método estático que me obtenga la dirección IP de un equipo.
public static string GetIpCliente(System.Web.HttpContext contexto) { string IP4Address = String.Empty; foreach (IPAddress IPA in Dns.GetHostAddresses(contexto.Request.UserHostAddress)) { // CODIGO } }El propósito del procedimiento lo explique en una entrada anterior, por si les interesa verlo es la siguiente: obtener el nombre del equipo y la dirección IP
String ip = Utilitarios.GetIpCliente(System.Web.HttpContext.Current);Aquí Utilitarios es una clase estática (no es necesario instanciarla para poder acceder a sus métodos estáticos públicos) y lo que se le pasaría al método GetIpCliente es el HttpContext de la actual solicitud HTTP a la aplicación web.
public static string GetIpCliente(System.Web.HttpContext contexto) { string IP4Address = String.Empty; foreach (IPAddress IPA in Dns.GetHostAddresses(contexto.Request.UserHostAddress)) { if (IPA.AddressFamily.ToString() == "InterNetwork" || IPA.AddressFamily.ToString() == "InterNetworkV6") { IP4Address = IPA.ToString(); break; } } if (IP4Address != "127.0.0.1" && IP4Address != "::1" ) //String.Empty { return IP4Address; } foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName())) { if (IPA.AddressFamily.ToString() == "InterNetwork") { IP4Address = IPA.ToString(); break; } } return IP4Address; }Más información: http://www.4guysfromrolla.com/articles/071807-1.aspx
select t1.IdProveedor, p.RazonSocial, stuff((select ', ' + t2.Nombres + ' ' + t2.ApellidoPaterno from ProveedorContacto t2 where t1.IdProveedor = t2.IdProveedor for xml path('')),1,2,'') 'Contactos ' from ProveedorContacto t1 inner join Proveedor p on t1.IdProveedor = p.IdProveedor group by t1.IdProveedor, p.RazonSocialEl resultado se muestra a continuación:
0 comentarios: