Es increible pero con esta instrucción puedo hacer referencia a una palabra.
SELECT PARSENAME(REPLACE('Hola quieros compañeros', ' ', '.'), 1)
SELECT PARSENAME(REPLACE('Hola quieros compañeros', ' ', '.'), 2)
SELECT PARSENAME(REPLACE('Hola quieros compañeros', ' ', '.'), 3)
Espero les sirva.
Sean felices! :) Y sientanse libres de opinar ;)
A aquel que se ha "matado" encontrando la solución. Le doy las gracias mediante este blog. Y lo que aprendí de él, lo comparto con todos.
Busca lo que quieras
Mostrando entradas con la etiqueta CSV. Mostrar todas las entradas
Mostrando entradas con la etiqueta CSV. Mostrar todas las entradas
función para separar un string en varias columnas
Esta es la función para separar un string por comas(o lo que queramos) en varias columnas.
Es algo así como pasar un CSV a una tabla. Así sería, y esto es gracias a codeproject.
No la he probado, pero la coloco aquí para que no se me pierda.
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
create function fn_ParseText2Table
(
@p_SourceText varchar(8000)
,@p_Delimeter varchar(100) = ',' --default to comma delimited.
)
RETURNS @retTable TABLE
(
Position int identity(1,1)
,Int_Value int
,Num_value Numeric(18,3)
,txt_value varchar(2000)
)
AS
/*
********************************************************************************
Purpose: Parse values from a delimited string
& return the result as an indexed table
Copyright 1996, 1997, 2000, 2003 Clayton Groom (<A href="mailto:Clayton_Groom@hotmail.com">Clayton_Groom@hotmail.com</A>)
Posted to the public domain Aug, 2004
06-17-03 Rewritten as SQL 2000 function.
Reworked to allow for delimiters > 1 character in length
and to convert Text values to numbers
********************************************************************************
*/
BEGIN
DECLARE @w_Continue int
,@w_StartPos int
,@w_Length int
,@w_Delimeter_pos int
,@w_tmp_int int
,@w_tmp_num numeric(18,3)
,@w_tmp_txt varchar(2000)
,@w_Delimeter_Len tinyint
if len(@p_SourceText) = 0
begin
SET @w_Continue = 0 -- force early exit
end
else
begin
-- parse the original @p_SourceText array into a temp table
SET @w_Continue = 1
SET @w_StartPos = 1
SET @p_SourceText = RTRIM( LTRIM( @p_SourceText))
SET @w_Length = DATALENGTH( RTRIM( LTRIM( @p_SourceText)))
SET @w_Delimeter_Len = len(@p_Delimeter)
end
WHILE @w_Continue = 1
BEGIN
SET @w_Delimeter_pos = CHARINDEX( @p_Delimeter
,(SUBSTRING( @p_SourceText, @w_StartPos
,((@w_Length - @w_StartPos) + @w_Delimeter_Len)))
)
IF @w_Delimeter_pos > 0 -- delimeter(s) found, get the value
BEGIN
SET @w_tmp_txt = LTRIM(RTRIM( SUBSTRING( @p_SourceText, @w_StartPos
,(@w_Delimeter_pos - 1)) ))
if isnumeric(@w_tmp_txt) = 1
begin
set @w_tmp_int = cast( cast(@w_tmp_txt as numeric) as int)
set @w_tmp_num = cast( @w_tmp_txt as numeric(18,3))
end
else
begin
set @w_tmp_int = null
set @w_tmp_num = null
end
SET @w_StartPos = @w_Delimeter_pos + @w_StartPos + (@w_Delimeter_Len- 1)
END
ELSE -- No more delimeters, get last value
BEGIN
SET @w_tmp_txt = LTRIM(RTRIM( SUBSTRING( @p_SourceText, @w_StartPos
,((@w_Length - @w_StartPos) + @w_Delimeter_Len)) ))
if isnumeric(@w_tmp_txt) = 1
begin
set @w_tmp_int = cast( cast(@w_tmp_txt as numeric) as int)
set @w_tmp_num = cast( @w_tmp_txt as numeric(18,3))
end
else
begin
set @w_tmp_int = null
set @w_tmp_num = null
end
SELECT @w_Continue = 0
END
INSERT INTO @retTable VALUES( @w_tmp_int, @w_tmp_num, @w_tmp_txt )
END
RETURN
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
Sean felices! :) Y siéntanse libres de opinar ;)
Es algo así como pasar un CSV a una tabla. Así sería, y esto es gracias a codeproject.
No la he probado, pero la coloco aquí para que no se me pierda.
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
create function fn_ParseText2Table
(
@p_SourceText varchar(8000)
,@p_Delimeter varchar(100) = ',' --default to comma delimited.
)
RETURNS @retTable TABLE
(
Position int identity(1,1)
,Int_Value int
,Num_value Numeric(18,3)
,txt_value varchar(2000)
)
AS
/*
********************************************************************************
Purpose: Parse values from a delimited string
& return the result as an indexed table
Copyright 1996, 1997, 2000, 2003 Clayton Groom (<A href="mailto:Clayton_Groom@hotmail.com">Clayton_Groom@hotmail.com</A>)
Posted to the public domain Aug, 2004
06-17-03 Rewritten as SQL 2000 function.
Reworked to allow for delimiters > 1 character in length
and to convert Text values to numbers
********************************************************************************
*/
BEGIN
DECLARE @w_Continue int
,@w_StartPos int
,@w_Length int
,@w_Delimeter_pos int
,@w_tmp_int int
,@w_tmp_num numeric(18,3)
,@w_tmp_txt varchar(2000)
,@w_Delimeter_Len tinyint
if len(@p_SourceText) = 0
begin
SET @w_Continue = 0 -- force early exit
end
else
begin
-- parse the original @p_SourceText array into a temp table
SET @w_Continue = 1
SET @w_StartPos = 1
SET @p_SourceText = RTRIM( LTRIM( @p_SourceText))
SET @w_Length = DATALENGTH( RTRIM( LTRIM( @p_SourceText)))
SET @w_Delimeter_Len = len(@p_Delimeter)
end
WHILE @w_Continue = 1
BEGIN
SET @w_Delimeter_pos = CHARINDEX( @p_Delimeter
,(SUBSTRING( @p_SourceText, @w_StartPos
,((@w_Length - @w_StartPos) + @w_Delimeter_Len)))
)
IF @w_Delimeter_pos > 0 -- delimeter(s) found, get the value
BEGIN
SET @w_tmp_txt = LTRIM(RTRIM( SUBSTRING( @p_SourceText, @w_StartPos
,(@w_Delimeter_pos - 1)) ))
if isnumeric(@w_tmp_txt) = 1
begin
set @w_tmp_int = cast( cast(@w_tmp_txt as numeric) as int)
set @w_tmp_num = cast( @w_tmp_txt as numeric(18,3))
end
else
begin
set @w_tmp_int = null
set @w_tmp_num = null
end
SET @w_StartPos = @w_Delimeter_pos + @w_StartPos + (@w_Delimeter_Len- 1)
END
ELSE -- No more delimeters, get last value
BEGIN
SET @w_tmp_txt = LTRIM(RTRIM( SUBSTRING( @p_SourceText, @w_StartPos
,((@w_Length - @w_StartPos) + @w_Delimeter_Len)) ))
if isnumeric(@w_tmp_txt) = 1
begin
set @w_tmp_int = cast( cast(@w_tmp_txt as numeric) as int)
set @w_tmp_num = cast( @w_tmp_txt as numeric(18,3))
end
else
begin
set @w_tmp_int = null
set @w_tmp_num = null
end
SELECT @w_Continue = 0
END
INSERT INTO @retTable VALUES( @w_tmp_int, @w_tmp_num, @w_tmp_txt )
END
RETURN
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
Sean felices! :) Y siéntanse libres de opinar ;)
Crear string separado por comas desde resultados del select
Esta es la consulta para que si un resultado en SQL nos de por ejemplo 5 filas de resultado, entonces estas 5 se juntarán en una sola y se separará por un punto y coma(en este ejemplo):
SELECT
STUFF(
(SELECT top 10 '; ' + campotabla
FROM tabla
where len(campotabla) > 3 --si queremos validar
FOR XML PATH ('')),1,2,'') 'nombrecolumnaresultado'
Espero les sirva, pues esto nos sirve por decirlo así para crear CSV.
Sean felices! :) Y siéntanse libres de opinar ;)
SELECT
STUFF(
(SELECT top 10 '; ' + campotabla
FROM tabla
where len(campotabla) > 3 --si queremos validar
FOR XML PATH ('')),1,2,'') 'nombrecolumnaresultado'
Espero les sirva, pues esto nos sirve por decirlo así para crear CSV.
Sean felices! :) Y siéntanse libres de opinar ;)
Devolver items seleccionados por comas de un ListBox-en-c#
La verdad, busque y no encontré alguna función, así que la hice yo.
Es sencilla. Aquí esta:
private string ListBoxSeparadoPorComas(ListBox listbox)
{
if (listbox == null)
{
return null;
}
string idsseleccionadosporcomas = "";
foreach (ListItem li in listbox.Items)
{
if (li.Selected)
{
idsseleccionadosporcomas += li.Value + ",";
}
}
if (idsseleccionadosporcomas != "")
{
idsseleccionadosporcomas = idsseleccionadosporcomas.Substring(0, idsseleccionadosporcomas.Length - 1);
}
else
{
idsseleccionadosporcomas = null;
}
return idsseleccionadosporcomas;
}
Recibe el parámetro ListBox y devuelve un string. Nulo si no tiene ninguno seleccionado, o en su defecto traera el string de los value de cada item seleccionado separado por comas, o CSV.
Espero les sirva.
Sean felices! :) Y sientanse libres de opinar ;)
Es sencilla. Aquí esta:
private string ListBoxSeparadoPorComas(ListBox listbox)
{
if (listbox == null)
{
return null;
}
string idsseleccionadosporcomas = "";
foreach (ListItem li in listbox.Items)
{
if (li.Selected)
{
idsseleccionadosporcomas += li.Value + ",";
}
}
if (idsseleccionadosporcomas != "")
{
idsseleccionadosporcomas = idsseleccionadosporcomas.Substring(0, idsseleccionadosporcomas.Length - 1);
}
else
{
idsseleccionadosporcomas = null;
}
return idsseleccionadosporcomas;
}
Recibe el parámetro ListBox y devuelve un string. Nulo si no tiene ninguno seleccionado, o en su defecto traera el string de los value de cada item seleccionado separado por comas, o CSV.
Espero les sirva.
Sean felices! :) Y sientanse libres de opinar ;)
Add line to File with C# and Win Forms
Hola.
Esto gracias a Jake.
Aquí esta el código para ir agregando linea por linea a un CSV. Lo bueno de este código es que se agrega una línea pero al principio del archivo, lo que quizás alguna vez lo necesiten.
string tempfile = Path.GetTempFileName();
StreamWriter writer = new StreamWriter(tempfile);
StreamReader reader = new StreamReader("C:\\imagenes\\formulario.txt");
writer.WriteLine("A,B,C");
while (!reader.EndOfStream)
writer.WriteLine(reader.ReadLine());
writer.Close();
reader.Close();
File.Copy(tempfile, "C:\\imagenes\\formulario.txt", true);
No sobra decir que hay que crear la carpeta de nombre imagenes en el disco C.
Saludos.
Sean felices! :) Y sientanse libres de opinar ;)
Esto gracias a Jake.
Aquí esta el código para ir agregando linea por linea a un CSV. Lo bueno de este código es que se agrega una línea pero al principio del archivo, lo que quizás alguna vez lo necesiten.
string tempfile = Path.GetTempFileName();
StreamWriter writer = new StreamWriter(tempfile);
StreamReader reader = new StreamReader("C:\\imagenes\\formulario.txt");
writer.WriteLine("A,B,C");
while (!reader.EndOfStream)
writer.WriteLine(reader.ReadLine());
writer.Close();
reader.Close();
File.Copy(tempfile, "C:\\imagenes\\formulario.txt", true);
No sobra decir que hay que crear la carpeta de nombre imagenes en el disco C.
Saludos.
Sean felices! :) Y sientanse libres de opinar ;)
Suscribirse a:
Entradas (Atom)
Palabras Clave
.NET
(93)
AJAX
(2)
ajaxcontroltoolkit
(2)
Algoritmos
(1)
android
(1)
Angular
(1)
Arrays
(1)
AS2 o ActionScript 2.0
(1)
AS3 o ActionScript 3.0
(64)
ASP
(7)
ASP.NET
(3)
Azure
(1)
Azure DevOps
(2)
Backup
(2)
Batch
(4)
blogger
(1)
Browser Support
(2)
C#
(53)
Charts
(1)
Chorme extensions
(1)
Chrome
(3)
cmd
(18)
código postal
(1)
Colombia tips
(1)
command
(1)
Conexion remota
(1)
Controles Web .NET
(24)
Cookies
(1)
cordova
(1)
CSS
(14)
CSV
(5)
Cufon
(1)
DateTime
(2)
deployment
(2)
Desarrollo movil
(2)
Desarrollo web
(5)
Diseño
(4)
DNN o DotNetNuke
(5)
docker
(1)
Encuestas
(1)
Entity Framework
(1)
Error
(1)
Eval
(2)
Excel
(4)
Expresiones regulares
(2)
Facebook
(14)
fechas
(1)
Fiddler
(1)
FileUpload
(1)
Filezilla
(1)
Firefox
(2)
Flash
(9)
Fonts
(3)
FQL
(1)
frameworks
(2)
Futuro de la web
(1)
git
(1)
Google Code
(13)
Google Maps
(4)
hackintosh
(3)
hazard 10.6.2
(3)
herramientas para developers
(1)
highchart
(1)
Hilos
(2)
Hosting Windows
(18)
HTML
(38)
HTML5
(6)
IDE
(1)
IE
(2)
IE9
(1)
IIS
(13)
imagenes
(3)
jasmine
(2)
java
(1)
jqgrid
(2)
Jquery y Javascript
(90)
jquery-ui
(5)
jQueryMobile
(1)
JSON
(1)
knockout
(4)
library
(1)
Link Interesantes
(2)
List
(1)
Macro
(2)
Matemáticas
(2)
Membership
(6)
Memoria
(1)
Mis Experiencias
(3)
momentjs
(1)
ms-dos
(1)
MSN
(1)
MVC
(1)
MVC4
(3)
MySQL
(2)
node.js
(4)
Notepad++
(3)
Notificaciones
(1)
ObjectDataSource
(2)
Online
(2)
Opinión
(4)
OSX
(3)
Parallels Plesk Panel
(1)
petapoco
(1)
PhantomJS
(1)
PHP
(4)
Porqué este blog
(1)
Powershell
(1)
Razor
(3)
Redes
(2)
REGEX
(4)
REST
(1)
SDK Android
(1)
Seguridad
(1)
SelectParameters
(1)
Selenium
(2)
sencha
(3)
sencha cmd
(2)
SEO
(1)
SMTP
(2)
Software útil
(8)
Solución
(1)
Soporte
(1)
SQL
(15)
SQL Server
(58)
SQLite
(2)
Store Procedures
(20)
String
(5)
Testing Code
(2)
texto
(2)
tips de datos
(1)
tips de desarrollo
(1)
TutoFaceAS3
(4)
TutoProAS3
(4)
Tutoriales
(7)
Tweenlite effects
(3)
Últimas noticias
(1)
unit testing
(1)
usb
(1)
VBA
(1)
Video
(1)
virus
(1)
Web API
(2)
Web Browsers
(1)
Web Forms
(7)
web.config
(1)
Webmaster
(8)
Webmatrix
(1)
webrole
(1)
webservices
(1)
webstorm
(1)
Win Forms
(5)
Windows
(21)
Windows 7
(1)
Windows 8
(1)
XML
(2)
Youtube API
(2)