webForumDet fria alternativet

hitta teckenkombinationer i en textsträng

ASP

4 svar · 372 visningar · startad av MM

Medlem sedan maj 2000138 inlägg
Frågan#1

Någon som vill hjälpa mig med följande:

Jag hämtar ut data från en databas (textformat) och utseendet på den texten styr vissa andra saker.
Så här vill jag göra:

if rs(text) innehåller *El* ' kan innhålla El1, El 1, El2, El 2, Elmätare 1 osv...
enhet = KWH
else if rs(text) innehåller *olja* eller *vatten* then
enhet = M2

tips någon?

Medlem sedan nov. 20017 144 inlägg
#2

Vilken DBMS?

Medlem sedan nov. 20017 144 inlägg
#3

Detta känns som en typisk felkonstruering av databasuplägget, men i alla fall.
I mySql kan du köra regexp direkt i frågan.

SELECT * FROM tabell WHERE kolumn regexp 'El\s?\d|Elmätare\s?\d'

Alltså El eller elmätare följt av ett eller inget mellanslag och en siffra 0-9

I annat fall så får du göra en regexp i vbscript.

Medlem sedan dec. 19996 721 inlägg
#4

Som sagt, det beror på vilken DBMS man kör. En lämplig princip kan se ut så här:

SELECT [text],
CASE 
   WHEN [text] LIKE '%El%' THEN 'KWh' 
   WHEN [text] LIKE '%olja%' THEN 'm2' 
   WHEN [text] LIKE '%vatten%' THEN 'm2' 
   ELSE '' 
END AS Enhet 
FROM Tabell

Om möjligt bör du dock ta en titt på själva databasupplägget, och se om du inte kan få in enheten som en del i databasen.

Medlem sedan maj 2000138 inlägg
#5

givetvis har du rätt emission, blir nog bäst att lägga till enheten i db kopplad till mätaren.

259 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)