30/05/2007, 09:06
|
| Colaborador | | Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 20 años Puntos: 38 | |
Re: combinar 2 columnas Ok, aunque se puede hacer en una sola sentencia select, creo que creando una funcion queda el codigo mas sencillo.
Código:
SELECT Nombre, dbo.ShowMovil(movil ,Telefono1 , Telefono2 ) as strMovil
From Tabla (nolock)
Where len(strMovil) > 0
Código:
-- =============================================
-- Create scalar function (FN)
-- =============================================
IF EXISTS (SELECT *
FROM sysobjects
WHERE name = N'[dbo].[ShowMovil]')
DROP FUNCTION [dbo].[ShowMovil]
GO
CREATE FUNCTION dbo.ShowMovil
(@Telefono1 varchar(20),
@Telefono2 varchar(20),
@Telefono3 varchar(20))
RETURNS varchar(20)
AS
BEGIN
Declare @MovilResult varchar(20)
Set @MovilResult = ''
If len(isnull(@Telefono1,'')) > 0
Begin
If left(ltrim(@Telefono1), 1) = '6'
Begin
return @Telefono1
End
End
If len(isnull(@Telefono2,'')) > 0
Begin
If left(ltrim(@Telefono2), 1) = '6'
Begin
return @Telefono2
End
End
If len(isnull(@Telefono3,'')) > 0
Begin
If left(ltrim(@Telefono3), 1) = '6'
Begin
return @Telefono3
End
End
return @MovilResult
END
GO
-- =============================================
-- Example to execute function
-- =============================================
SELECT dbo.ShowMovil('999256897','656945632', '678456123')
GO
__________________ La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications. |