Toon posts:

SQL <CR> karakter gebruiken in virtuele kolom

Pagina: 1
Acties:
  • 218 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ben bezig met de nodige SQL geklooi en loop nu tegen het volgende probleem aan. In een CREATE VIEW wil ik meerder kolommen koppelen.

Dit gaat opzich alsvolgt:
CREATE VIEW klantnaamadres(naam,vir_adres)
AS SELECT klant_naam,(straatnaam||' '||huisnr) FROM klanten;

So far so good. Maar nu wil ik in de view ook de postcode en plaatsnaam toevoegen aan de vituele kolom(vir_adres), echter zodanig dat indien de query uitgevoerd en opgevraagd wordt deze laatste twee item op een nieuwe regel komen.

Dus een statement als:
CREATE VIEW klantnaamadres(naam,vir_adres)
AS SELECT klant_naam,(straatnaam||' '||huisnr||<CR>|| POSTCODE||' '||PLAATSNAAM) FROM klanten;

Hen resultaat moet dan het volgende zijn:

naam | adres
----------------------------
piet | Tuinstraat 10
| 7710 ED ENSCHEDE

Het lukt mij echter niet om de manier te vinden om dit uit te voeren, in SQL*Plus gebruik je een CHAR(10) als CARIAGE RETURN, maar voor de <CR> in mijn statement ben ik opzoek naar een standaard SQL92/ dialect 3 oplossing of een specifieke oplossing van InterBase.

Wie heeft hier ervaring mee en heeft een oplossing gevonden.

Verwijderd

Ik maak in MSSQL Server gebruik van de Char functie. Carriage returnis overigens CHAR(13) ipv CHAR(10).

Verwijderd

Topicstarter
Bedankt voor je reactie maar CHAR werkt in het geheel niet, niet met 10, en ook niet met 13.

Denk dat Char(13) specifiek door MYSQL ondersteund wordt. Of is dit een standaard SQL keyword. ?

Verwijderd

Topicstarter
Als ik de (bekende) pagina bekijk kom ik tot dezelfde conclusie, alleen indien ik de query uitvoer blijft hij struikelen over CHAR (waarschijnlijk, omdat deze ook gebruikt wordt voor de type declaratie van velden)

Mischien pas ik het gewoon verkeerd toe, kun je met een fragment van je SQL statement sturen waarin je een dergelijk constructie toepast ?

Verwijderd

Char wordt inderdaad natuurlijk ook gebruikt voor de declaratie van de tabellen.

Hier een stuk SQL uit MSSQL7...(getest met de Query Analyzer)
code:
1
2
select Address = 'Address Line 1' + Char(13) + 
         'Address Line 2'

Verwijderd

Topicstarter
Nope werkt niet, Zowel chr als char kent ie in deze context niet.

Nog andere ideëen ? iemand ?

Verwijderd

Topicstarter
Ik heb nog niet de oplossing gevonden voor het probleem, dus maar een workaround toegepast, nl twee virtuele kolommen per adres regel.

Thanxs anyway.

Verwijderd

Ik heb geen ervaring met InterBase en kan je helaas niet verder helpen...
Pagina: 1