Autor Tema: escribir comilla simple dentro de literal  (Leído 22860 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado stompy

  • Novato
  • *
  • Mensajes: 17
    • Ver Perfil
escribir comilla simple dentro de literal
« en: 16 de Octubre de 2007, 10:01:27 am »
Quiero guardar en una variable CHAR el siguiente literal, como le indico al sistema q la comillas simples q encierran 0000424001 son literales?

where hkont BETWEEN '0000424001'

Desconectado Nuria

  • Usuario Completo
  • ***
  • Mensajes: 90
    • Ver Perfil
Re: escribir comilla simple dentro de literal
« Respuesta #1 en: 16 de Octubre de 2007, 10:58:12 am »
Hola.

No se si te entiendo bien.

En principio los textos literales se ponen entre comillas como tienes, lo que veo raro es el BETWEEN, en el caso de que quieras escribir un BETWEEN te faltaría escribir algo así:

WHERE hkont BETWEEN '0000424001' AND '0000424001'.

Aunque por lo que me parece te valdría simplemente con poner:
WHERE hkont = '0000424001'.


Desconectado oscar

  • Administrador
  • Usuario Sr.
  • *****
  • Mensajes: 112
    • Ver Perfil
Re: escribir comilla simple dentro de literal
« Respuesta #2 en: 16 de Octubre de 2007, 11:18:59 am »
Si te refieres a como utilizar las comillas simples dentro de un código te explico como:
l_where = 'campo = ''valor'''. 
SELECT lista_campos
  INTO loquesea
  FROM tabla
  WHERE (l_where).



De todas formas yo usaría una constante, (eliminas las comillas extra y el hard-coding)
CONSTANTS: c_valor TYPE tabla-campo VALUE 'valor'. 
DATA: l_where TYPE string.

l_where = 'campo = c_valor'.
SELECT lista_campos
  INTO loquesea
  FROM tabla
  WHERE (l_where).


Un saludo...

Desconectado stompy

  • Novato
  • *
  • Mensajes: 17
    • Ver Perfil
Re: escribir comilla simple dentro de literal
« Respuesta #3 en: 17 de Octubre de 2007, 08:51:53 am »
Gracias a ambos.

Si q es lo q indica Oscar, vamos era meter comillas entre comillas. haré lo de la cte.

Desconectado stompy

  • Novato
  • *
  • Mensajes: 17
    • Ver Perfil
Re: escribir comilla simple dentro de literal
« Respuesta #4 en: 19 de Octubre de 2007, 09:19:22 am »
cuando hago el-> where ( filtro ).

me dice: ( no es una operación ógica válida.

Como puedo solucionar esto?

Gracias.

Desconectado oscar

  • Administrador
  • Usuario Sr.
  • *****
  • Mensajes: 112
    • Ver Perfil
Re: escribir comilla simple dentro de literal
« Respuesta #5 en: 19 de Octubre de 2007, 10:03:15 am »
Copia estos otros códigos y sustituye la tabla y campos por los tuyos.

Haber que tal te va!

Código: [Seleccionar]
    CONSTANTS: c_valor TYPE trdir-cnam VALUE 'cnam'.
    DATA: l_where TYPE string.
    DATA: loquesea.

    l_where = 'campo = c_valor'.

    SELECT cnam INTO loquesea
                FROM trdir
               WHERE (l_where).


    ENDSELECT.

Código: [Seleccionar]
    DATA: l_where TYPE string.
    DATA: loquesea.

    l_where = 'campo = ''cnam'''.

    SELECT cnam INTO loquesea
                FROM trdir
               WHERE (l_where).



    ENDSELECT.

Desconectado stompy

  • Novato
  • *
  • Mensajes: 17
    • Ver Perfil
Re: escribir comilla simple dentro de literal
« Respuesta #6 en: 19 de Octubre de 2007, 11:37:02 am »
sigue sin cogermelo pero metí los filtros de otra manera.

Gracias Oscar.