Avatar billede wildthing Nybegynder
03. maj 2006 - 12:23 Der er 5 kommentarer og
1 løsning

ISNULL og NULLIF fnider

HVorfor giver

Select ISNULL(NULLIF(RIGHT(RTRIM(Addr_city,1),','),'QQQQQ' as varcity

varcity = 'Q'

ændrer jeg på 1 tallet i RIGHT functionen til 2, så får jeg 'QQ'.

Jeg ville jo så gerne have 5 Q'er eller hvis jeg indsatte et felt så hele feltet og ikke kun første ciffer. ISNULL skulle jo tage hele Replacement værdien, eller hva?
Avatar billede ldanielsen Nybegynder
03. maj 2006 - 14:26 #1
The rtrim function requires 1 arguments.

siger den til mig

Hvad er det du vil?
Avatar billede wildthing Nybegynder
03. maj 2006 - 14:37 #2
Select ISNULL(NULLIF(RIGHT(RTRIM(addr_city),1),','),addr_city) as varcity
From account

QQQQ er her erstattet af feltet addr_city

der manglede vidst lige et par ")". Sidder på en anden PC end hvor jeg tester...

Hvad jeg vil:
Hvis der i addr_city står et komma til sidst, så skal kommaet fjernes. Om addr_city gemmes i en ny "varcity" eller blot i sig selv er ligegyldig når blot jeg får kommaet fjernet i SQL kaldet. Jeg ved godt at ovenstående sætning ikke vil komme til at gøre hvad jeg ønsker men det skulle være et skridt på vejen. Jeg blev bare stoppet af den omptalte "fejl". Kan det gøre smart er jeg med på den, men jeg forstår stadig ikke hvorfor længden "arves" fra RTRIM functionen?
Avatar billede ldanielsen Nybegynder
03. maj 2006 - 16:30 #3
Du har ret, det er meget mærkeligt

Jeg synes også at det skulle virke ...
Avatar billede kjulius Novice
03. maj 2006 - 21:07 #4
Hvad med denne her i stedet?

SELECT CASE WHEN addr_city IS NULL OR LEN(addr_city) = 0 THEN addr_city WHEN SUBSTRING(addr_city, LEN(addr_city), 1) = ',' THEN LEFT(addr_city, LEN(addr_city) - 1) ELSE addr_city END AS varcity
FROM account
Avatar billede wildthing Nybegynder
04. maj 2006 - 08:58 #5
En rød ferrari og en pose jord er på vej til >kjulius<. Havde fedtet noget med case uden at få det til at virke, så det var godt at få et eksempel, som igen kan bruges senere. takker. smid et svar.
Avatar billede kjulius Novice
04. maj 2006 - 09:32 #6
Jeg takker for den røde Ferrari. Den kan jeg bruge til at imponere naboerne med. Derimod synes jeg du skulle donere posen med jord til din lokale gartner. Så bliver han sikkert også glad :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester