Windows Vista? *NEVER* Het waarom - Opera forever!!!
I've seen chickens that were more menacing. Chickens in a coma. On ice. In my fridge
Heel vreemd, je syntax is wel goed. Wat gebeurt er als je SELECT LTRIM(RTRIM(Naam)) + LTRIM(RTRIM(Voorletter)) doet?Darkvater schreef op 06 januari 2004 @ 14:16:
Ik heb in een tabel een Naam en een Voorletter colom. Nu wil ik dus graag een select doen zodat ik "NaamVoorletter" te zien krijg. Beide velden zijn text.
Het zou gewoon zo moeten werken:
code:
1 SELECT Naam + Voorletter as Name FROM....
Ten eerste werkt dit niet, want ik krijg alleen "Naam" te zien en geen "Voorletter" .
Het feit dat je helemaal niets ziet als voorletter NULL is komt van de setting
SET CONCAT_NULL_YIELDS_NULL ON | OFF
die moet je op OFF zetten.
Oops! Google Chrome could not find www.rijks%20museum.nl
Waarom? Waarom niet gewoon VARCHAR of NVARCHAR ?
(N)VARCHAR velden kan je concatten. Text is echter een speciaal soort veld, voor grote lappen text. Die kan je niet concatten, en je kan er ook geen index op leggen.
[ Voor 54% gewijzigd door whoami op 06-01-2004 14:33 ]
https://fgheysels.github.io/
* P_de_B was afgeleid door de error (field equals char)whoami schreef op 06 januari 2004 @ 14:32:
Je velden zijn TEXT?
concatten op een TEXT veld wil dus inderdaad niet.
Oops! Google Chrome could not find www.rijks%20museum.nl
1
| SELECT LTRIM(RTRIM(Naam)) + LTRIM(RTRIM(Voorletter)) |
Dit werkt erg goed, moet wel die dus op OFF zetten.
1
| SELECT CONVERT(varchar(GewensteLengte), Naam + Voorletter) as Name FROM ... |
Dit geeft alleen maar het eerste weer, Naam dus.
Waarom de velden Text zijn, weet ik ook niet, ik heb de database niet gemaakt
In ieder geval zeer bedankt P_de_B voor je hulp
Maar als ik dus vraag of ze de TEXT velden om willen zetten in (N)VARCHAR, dan zou die '+' gewoon werken? Ff kijken of ze daar in gaan
[ Voor 16% gewijzigd door Darkvater op 06-01-2004 14:46 ]
Windows Vista? *NEVER* Het waarom - Opera forever!!!
I've seen chickens that were more menacing. Chickens in a coma. On ice. In my fridge
Dit komt denk ik omdat de TRIM een implicite cast naar VARCHAR doetDarkvater schreef op 06 januari 2004 @ 14:44:
code:
1 SELECT LTRIM(RTRIM(Naam)) + LTRIM(RTRIM(Voorletter))
Dit werkt erg goed, moet wel die dus op OFF zetten.
Ze zullen wel moetenMaar als ik dus vraag of ze de TEXT velden om willen zetten in (N)VARCHAR, dan zou die '+' gewoon werken? Ff kijken of ze daar in gaan
TEXT gebruik je alleen voor velden waarin meer dan 8000 karakters moeten. Er zijn veel problemen en eigenaardigheden met TEXT velden, je kunt ze dus beter niet gebruiken als het niet absoluut noodzakelijk is.
Oops! Google Chrome could not find www.rijks%20museum.nl
My thoughts exactly.P_de_B schreef op 06 januari 2004 @ 15:08:
[...]
Dit komt denk ik omdat de TRIM een implicite cast naar VARCHAR doet
Daarnaast is een TEXT veld niet echt handig als je er moet gaan in zoeken of op sorteren.Ze zullen wel moeten![]()
TEXT gebruik je alleen voor velden waarin meer dan 8000 karakters moeten. Er zijn veel problemen en eigenaardigheden met TEXT velden, je kunt ze dus beter niet gebruiken als het niet absoluut noodzakelijk is.
https://fgheysels.github.io/