Saber el nombre un path o la extensión en T-SQL

30/10/2007 - 15:47 por Paul | Informe spam
Hola,

Estoy haciendo un procedimiento almacenado con SQL Server 2005
Express. Necesito saber si en T-SQL hay alguna función que me diga
dado un path completo, el nombre del fichero, la extensión, o el path
sin contener el nombre del fichero.

Saludos

Preguntas similare

Leer las respuestas

#1 Maxi
30/10/2007 - 16:04 | Informe spam
Hola, en principio no me queda claro que datos usted necesita, es medio
confuso!
Segundo, TSQL no es un lenguaje de programacion y le recomiendo que este
tipo de cosas las haga fuera de la base de datos.
Seria mejor si nos cuenta que esta tratando de resolver asi le podemos dar
otro tipo de herramintas para poder lograr dicho objetivo

-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Paul" escribió en el mensaje
news:
Hola,

Estoy haciendo un procedimiento almacenado con SQL Server 2005
Express. Necesito saber si en T-SQL hay alguna función que me diga
dado un path completo, el nombre del fichero, la extensión, o el path
sin contener el nombre del fichero.

Saludos
Respuesta Responder a este mensaje
#2 Carlos Sacristan
30/10/2007 - 16:10 | Informe spam
No, pero no te resultará difícil hacerla mediante las funciones de
tratamientos de cadenas que tiene SQL Server. Echa un vistazo a SUBSTRING,
PATINDEX, etc

Ahora, depende de cómo vayas a usar esa función que crees, puede que el
rendimiento no sea el esperado e igual sea más recomendable crearte una
función CLR para ello. .NET es más eficiente en el tratamiento de cadenas
que T-SQL

"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es fácil. si ambas están congeladas."
Edward V. Berard, ingeniero informático

http://blogs.solidq.com/es/elrincondeldba

"Paul" escribió en el mensaje
news:
Hola,

Estoy haciendo un procedimiento almacenado con SQL Server 2005
Express. Necesito saber si en T-SQL hay alguna función que me diga
dado un path completo, el nombre del fichero, la extensión, o el path
sin contener el nombre del fichero.

Saludos
Respuesta Responder a este mensaje
#3 Rubén Vigón
30/10/2007 - 16:12 | Informe spam
DECLARE @ruta varchar(200)
SET @ruta = 'c:\carpeta1\carpeta2\carpeta3\archivo.ext'
SELECT RIGHT(@ruta, CHARINDEX('\', REVERSE(@ruta)) - 1) AS Archivo
SELECT LEFT(@ruta, LEN(@ruta) - CHARINDEX('\', REVERSE(@ruta))) AS Ruta
__________________________________________________

Archivo
archivo.ext

(1 filas afectadas)

Ruta
-
c:\carpeta1\carpeta2\carpeta3

(1 filas afectadas)

__________________________________________________

Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
Respuesta Responder a este mensaje
#4 Alejandro Mesa
30/10/2007 - 16:22 | Informe spam
Paul,

No recuerdo ninguna funcion documentada que haga esto. Deberas manipular la
cadena para hayar esos valores.

Ejemplo:

DECLARE @s VARCHAR(256)

SET @s = 'C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\tempdb.mdf'

SELECT
LEFT(@s, LEN(@s) - (CHARINDEX('\', REVERSE(@s)) - 1)) AS [Path],
CASE
WHEN PATINDEX('%.%', RIGHT(@s, CHARINDEX('\', REVERSE(@s)) - 1)) > 0 THEN
PARSENAME(RIGHT(@s, CHARINDEX('\', REVERSE(@s)) - 1), 2)
ELSE PARSENAME(RIGHT(@s, CHARINDEX('\', REVERSE(@s)) - 1), 1)
END AS [FileName],
CASE
WHEN PATINDEX('%.%', RIGHT(@s, CHARINDEX('\', REVERSE(@s)) - 1)) > 0 THEN
PARSENAME(RIGHT(@s, CHARINDEX('\', REVERSE(@s)) - 1), 1)
ELSE ''
END AS [Extension]


AMB


"Paul" wrote:

Hola,

Estoy haciendo un procedimiento almacenado con SQL Server 2005
Express. Necesito saber si en T-SQL hay alguna función que me diga
dado un path completo, el nombre del fichero, la extensión, o el path
sin contener el nombre del fichero.

Saludos


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida