hitta teckenkombinationer i en textsträng

ASP

4 svar · 381 visningar · startad av MM

Medlem sedan maj 2000138 inlägg
Trådstart#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.

257 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)