Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


sql-fråga som ignorerar mellanslag

Postades av 2006-11-14 10:45:31 - Maria Jönsson, i forum access, Tråden har 7 Kommentarer och lästs av 1261 personer

Hej!

Jag undrar om det är möjligt att skriva en sql-fråga som ignorerar mellanslag.

Om följande finns i en tabell:
ABC123
DEF 456

om jag skickar följande frågor vill jag ju få en träff:

Select * from tbl WHERE info = 'ABC 123'
Select * from tbl WHERE info = 'DEF456'

Det går ju att hämta alla värden ur tabellen loopa igenom dem och där göra en replace på mellanslag.
Det känns ju inte så bra om det finns väldigt många poster, dvs prestanda blir dålig.

Första posten får jag ju ut genom att göra följande
Select * from tbl WHERE info = replace('ABC 123'," ","") 'här tar jag bort mellanslag

Det funkar ju inte om jag vill ha ut andra posten, eftersom det finns ett mellanslag i den

Det jag är ute efter är alltså något liknande
Select * from tbl WHERE info = ignoreIfValueHasSpace('DEF456')

Hoppas ni förtår hur jag menar....

Maria


Svara

Sv: sql-fråga som ignorerar mellanslag

Postades av 2006-11-14 11:33:00 - Johan Djupmarker

Testa såhär:

Select * from tbl WHERE Replace(info, ' ', '') = replace('ABC 123'," ","")

Du får ju fortfarande "problemet" med att du måste köra replace på alla poster, men jag tror inte det det går att lösa på något snabbare sätt om man inte sparar ner informationen i databasen utan mellanslag.

/Johan


Svara

Sv:sql-fråga som ignorerar mellanslag

Postades av 2006-11-15 10:37:33 - Maria Jönsson

Hej och tack för ditt svar!

Det där såg ju jättesmart ut. Tyvärr får jag det inte att funka,
jag får felmeddelade:
"Undefined Function 'Replace' in expression"

MVH

Maria


Svara

Sv: sql-fråga som ignorerar mellanslag

Postades av 2006-11-15 12:12:41 - Hendrik Olsson

Borde du inte kunna ersätta med %

Select * from tbl WHERE info LIKE 'ABC%123'
Select * from tbl WHERE info LIKE 'DEF%456'

//Henke


Svara

Sv:sql-fråga som ignorerar mellanslag

Postades av 2006-11-15 17:49:40 - Ola Lindfeldt

Select * from tbl
WHERE info = 'ABC123'
OR info = 'ABC 123'

Detta är nog snabbare än att anropa funktioner.

Men du borde fundera på att tvätta datat på väg in i databasen i stället, så att det alltid är konsekvent på ett sätt. Det gynnar både korrekthet och prestanda.



Svara

Sv: sql-fråga som ignorerar mellanslag

Postades av 2006-11-15 18:03:25 - Andreas Hillqvist

Det ser ut som dit fält innehåller två olika sorters data: En alfanumerisk bit och ett tal.
Man skulle ju kunna dela upp det i två kolumner.


Svara

Sv:sql-fråga som ignorerar mellanslag

Postades av 2006-11-16 07:55:51 - Maria Jönsson

Hej!

Jag gör som du säger Ola och "tvättar" datat och tar bort mellanslag när jag lägger till i databasen.
Det som jag funderade över var om jag skulle skippa det. Det är nämligen så att när datat ska presenteras i rapporter o dyl ska det vara formaterat med lite mellanslag här och där. Det som är krångligt är att mellanslagen ska inte alltid vara på samma ställe. Isåfall hade det ju varit lätt fixat...

Datat läses in från en stor text-fil som i sin tur hämtas ur ett stort system. Problemet är att datat inte alltid är rätt formaterat som det ska vara. Ibland finns det med mellanslag och ibland inte.

Nu ska själva textfilen som jag läser in från ändras och datat kommer att vara rätt formaterat från o med nu!! :-)


Idag när datat ska presenteras kör jag igenom strängen i en formateringsfunktion. Risken är att det inte alltid blir korrekt.

Men om jag gör som Henke föreslår med '%' funkar det ju. Det jag får göra är att köra replace på alla mellanslag och lägga in ett % istället. Då kan jag ju tillåta mellanslag vid inmatning!

Tack alla för fin hjälp!


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 766
27 960
271 761
383
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies