Toon posts:

[SQL] 3 velden in 1 variabele met - teken scheiden

Pagina: 1
Acties:
  • 86 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo,

Ik zit met het volgende probleem...

Ik wil b.v. 3 velden in 1 variabele kwijt en deze scheiden met het - teken.

Voorbeeld:

In de database staat een 1, een 2 en een 3.

Zodra je deze afdrukt op het scherm kan je er gewoon 1-2-3 van maken.

Als ik dit in een variable probeer te zetten gaat die ermee rekenen (logisch). Alleen dat is niet de bedoeling. Hoe krijg ik die 3 velden nu in 1 variabele...?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

CONCAT()?

edit:
En wat P_de_B hieronder zegt natuurlijk. ;) Zonder details over welk DBMS je gebruikt kunnen we niet veel zeggen. ;)

[ Voor 88% gewijzigd door NMe op 11-04-2005 15:48 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
* P_de_B zou toch nog graag eens in de policy zien dat het verplicht word het betreffende DBMS te vermelden....

Oops! Google Chrome could not find www.rijks%20museum.nl


  • Tukk
  • Registratie: Januari 2002
  • Laatst online: 08-05 15:14

Tukk

De α-man met het ẞ-brein

Oracle:
code:
1
Select var1||'-'||var2||'-'||var3 from table


@P_de_B: halleluja

[ Voor 44% gewijzigd door Tukk op 11-04-2005 15:48 ]

Q: How many geeks does it take to ruin a joke? A: You mean nerd, not geek. And not joke, but riddle. Proceed.


Verwijderd

Topicstarter
Ok dat gaat allemaal prima maar dan het volgende:

SELECT FROM factuur WHERE datum < DATE_SUB(NOW(), INTERVAL 7 DAY)

Met zo een soort commando zou ik alles uit een tabel moeten halen waarvan alles ouder is dan 7 dagen.

In de tabel staan de datumvelden echter apart genoemd als: "dag, maand en jaar".

Is het dan ook mogelijk om dit in de SELECT aan te geven?

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Hou er dan wel rekening mee, dat in SQL de date functie altijd yyyy-mm-dd is ;)

Of je propt de resultaten van dag, maand en jaar, samen in 1, en die doe je dan jaar-maand-dag? :?

@ Hieronder:
Lijkt mij dat de TS datums wil vergelijken, dan moet je wel rekening houden, met het formaat hoe SQL de data resulteerd... ;)

[ Voor 69% gewijzigd door CH4OS op 11-04-2005 16:02 ]


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
GJ-tje schreef op maandag 11 april 2005 @ 16:00:
Hou er dan wel rekening mee, dat in SQL de date functie altijd yyyy-mm-dd is ;)
:?
GJ-tje schreef op maandag 11 april 2005 @ 16:00:
@ Hieronder:
Lijkt mij dat de TS datums wil vergelijken, dan moet je wel rekening houden, met het formaat hoe SQL de data resulteerd..
We weten nog niet eens over welk DBMS het gaat, en daarnaast is dit niet waar.

[ Voor 55% gewijzigd door P_de_B op 11-04-2005 16:05 ]

Oops! Google Chrome could not find www.rijks%20museum.nl


Verwijderd

Topicstarter
GJ-tje schreef op maandag 11 april 2005 @ 16:00:
Hou er dan wel rekening mee, dat in SQL de date functie altijd yyyy-mm-dd is ;)
Ja dat is niet zo een probleem...alleen wel dat de datum in de tabel in 3 aparte velden staat...dus hij moet in de select van die 3 velden eigenlijk 1 veld ook maken en daarme gaan rekenen.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Verwijderd schreef op maandag 11 april 2005 @ 15:54:
In de tabel staan de datumvelden echter apart genoemd als: "dag, maand en jaar".
Kun je het datamodel niet aanpassen? Want 3 aparte velden voor één datum is gewoon brak. :X
Is het dan ook mogelijk om dit in de SELECT aan te geven?
Ik lees nog steeds nergens welk DBMS je gebruikt...

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Die velden staat nu eenmaal helaas apart...daar is weinig meer aan te veranderen...maar het moet toch wel op 1 of andere manier uit te lezen zijn :?

  • sig69
  • Registratie: Mei 2002
  • Laatst online: 08-05 21:15
In MS SQL zou je zoiets kunnen doen:

CONVERT( datetime, dag + '-' + maand + '-' + jaar, 105 )

Maar brak blijft het wel ja

Roomba E5 te koop


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
Verwijderd schreef op maandag 11 april 2005 @ 16:02:
Die velden staat nu eenmaal helaas apart...daar is weinig meer aan te veranderen...maar het moet toch wel op 1 of andere manier uit te lezen zijn :?
Ligt aan het DBMS dat je gebruikt, maar in bijvoorbeeld SQL Server zou het

code:
1
2
SELECT CAST ((Jaar +  '-' maand   + '-' +  dag) as datetime) as DatumVeld, AnderSpul
FROM Tabel


@sig69, die '105' gebruik je alleen als je een datum naar een stringformaat wilt converteren, niet als je een string naar een datetime doet.

[ Voor 21% gewijzigd door P_de_B op 11-04-2005 16:07 ]

Oops! Google Chrome could not find www.rijks%20museum.nl


  • TukkerTweaker
  • Registratie: November 2001
  • Laatst online: 21-04 15:56
Welk DBMS?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Ok, genoeg geweest. Je hebt twee keer gepost sinds er meermaals is gevraagd welk DBMS je gebruikt. Als je dit niet wil posten, dan kun je ook niet geholpen worden.

Open gerust een nieuw topic, maar vermeld daar dan wel in met welke software je werkt. Dit topic gaat verder alleen nog maar bestaan uit vragen naar welk DBMS je gebruikt. Lees ook even P&W FAQ - De "quickstart". :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Ik kreeg net een mail van David Juffermans, die graag nog wat wilde toevoegen:
@P_de_B:
Dat is niet helemaal waar, andersom werkt het ook.

Probeer maar eens
code:
1
2
CONVERT( datetime, '23-1-2005', 105 )
CONVERT( datetime, '23-1-2005' )


De eerste zal goed gaan, omdat hij weet in welk formaat de datum aangeleverd wordt. De tweede gaat niet goed, omdat hij een ander datumformaat verwacht en maand 23 niet bestaat.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.