Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

no entiendo la funciona CHARINDEX

Estas en el tema de no entiendo la funciona CHARINDEX en el foro de SQL Server en Foros del Web. miren tengo 2 ejemplos, de la pagina,de sql, pero no entiendo.... MAS CUANDO, esta el tercer parametro,,, @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original USE AdventureWorks2012; ...
  #1 (permalink)  
Antiguo 13/06/2013, 07:31
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 2 meses
Puntos: 3
no entiendo la funciona CHARINDEX

miren tengo 2 ejemplos, de la pagina,de sql,

pero no entiendo.... MAS CUANDO, esta el tercer parametro,,,
Código SQL:
Ver original
  1. USE AdventureWorks2012;
  2. GO
  3. DECLARE @document VARCHAR(64);
  4.  
  5. SELECT @document = 'Reflectors are vital safety' +
  6.                    ' components of your bicycle.';
  7. SELECT CHARINDEX('bicycle', @document);
  8. GO

esto da 48
----------------------------------------------------------



aca,,,
Código SQL:
Ver original
  1. USE AdventureWorks2012;
  2. GO
  3. DECLARE @document VARCHAR(64);
  4.  
  5. SELECT @document = 'Reflectors are vital safety' +
  6.                    ' components of your bicycle.';
  7. SELECT CHARINDEX('vital', @document, 5);
  8. GO

da 16..

pero com puede ser?? no arranca desde 5??? no arranca desde la C "de Reflectors"

Última edición por gnzsoloyo; 13/06/2013 a las 10:35
  #2 (permalink)  
Antiguo 13/06/2013, 07:53
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: no entiendo la funciona CHARINDEX

si si empieza desde la posicion 5 (ignora las demas apariciones de la cadena) por ejemplo:

Código SQL:
Ver original
  1. DECLARE @document VARCHAR(64);
  2.  
  3. SELECT @document = 'vitalctors are vital safety' +
  4. ' components of your bicycle.';
  5. SELECT CHARINDEX('vital', @document, 5);

sigue dando 16, porque porque empezo la busqueda de la cadena desde la posicion 5 ignorando lo que habia detras, pero da 16 porque la encuentra en la posicion 16 de la cadena "completa" no esta tomando la posicion 5 como inicio de cadena :)

espero haberme explicado :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 13/06/2013, 09:26
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 2 meses
Puntos: 3
Respuesta: no entiendo la funciona CHARINDEX

AH,, si
igual es medio raro,
pero como para quedar bien,
debe suceder los mismo en otros lenguajes...
  #4 (permalink)  
Antiguo 13/06/2013, 10:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: no entiendo la funciona CHARINDEX

Cita:
debe suceder los mismo en otros lenguajes...
¿Qué lenguajes?
¿No te estarás refiriendo a DBMSs?
Las funciones no son parte del estandar ANSI-SQL, así que cada emrpesa hace con eso lo que quiere. Depende de cuál estés refiriéndote, y de a qué te estés refiriendo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 13/06/2013, 23:53
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 2 meses
Puntos: 3
Respuesta: no entiendo la funciona CHARINDEX

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿Qué lenguajes?
¿No te estarás refiriendo a DBMSs?
Las funciones no son parte del estandar ANSI-SQL, así que cada emrpesa hace con eso lo que quiere. Depende de cuál estés refiriéndote, y de a qué te estés refiriendo.
digo por ejemploi en javascript, hay un charindex, y creo que funciona de manera similar, con los parametros que no llegue a entender, hasta que pregunte aca...
  #6 (permalink)  
Antiguo 14/06/2013, 08:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: no entiendo la funciona CHARINDEX

JavaScript es un lenguaje de programación, esencialmente (más allá de su entorno de existencia).
SQL no es un lenguaje de programación, es un lenguaje de consultas, y no tiene que cumplir los mismos requisitos ni estándares, por la simple y sencilla razón de que no tiene el mismo ámbito.
El hecho de que ciertas funciones sean similares, lleva ausar los mismos nombres en diferentes DBMS, que se emparentan con los lenguajes de programación. Pero no son la misma cosa, ni trabajan con las mismas estructuras.
De hecho, como ya te dije, como las funciones no están estandarizadas en el ANSI-SQL, depende de cada empresa lo que quiera poner o sacar, en tanto respete el estandar.
En el caso de las funciones de cadena, numero, fecha y demás, Oracle, DB2, Postgre, MySQL y SQL Server salvo excepciones, no usan ni los mismos nombres, ni las mismas parametrizaciones en muchos casos.
Pero por sobre todo: no te guíes por lo que encuentras en los lenguajes de programación para entender el SQL.
Es como aprender latín para entender el rumano. Que sean parientes no implica identidades.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:47.