webForumDet fria alternativet

Stränghantering i SQL?

3 svar · 437 visningar · startad av MinOrk

MinOrkMedlem sedan aug. 2000234 inlägg
#1

i en kolumn lagras en VARCHAR varabel som innehåller en sträng som har ord separerade med ett '/'-tecken.

Finns det möjlighet att i databasen (interbase, oracle, mssql) liknande VBs Split som gör det möjligt att använda varje del-sträng i en SELECT fråga?

ex:
lagrat värde: /volvo/saab/
önskad select: select * from tbl where marke in ('volvo', 'saab')

Eller kan man skicka en sträng till en stored procedure som bygger upp ett sql-uttryck?

ex:
sträng: ('volvo','saab')
skickas till: select * from tbl where marke in

som ger typ samma select som i första ex.

vore schysst om jag fick lite hjälp med detta... :)

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Du får nog bygga en sql-fråga dynamiskt, antingen i en stored procedure eller i ditt klientprogram. Om du gör det i en stored procedure så blir det ju olika lösningar för Oracle och mssql så det är kanske bäst att göra det i klienten.

(Interbase vet jag inte så mycket om. Har den stöd för stored procedures och i så fall hur ser det ut?)

------------------
essentitia preter non sans multiplicandum

MinOrkMedlem sedan aug. 2000234 inlägg
#3

hur bygger jag då upp frågan dynamiskt i en stored proc.?

vore bäst om jag kunde skicka strängen till stored proc. och där bygga uttrycket.

jo, interbase har stöd för det. hur de ser ut? hur menar du? hur man skapar dem? ung. så här:

CREATE PROCEDURE m_UPD
(
V_NEW VARCHAR(11),
V_OLD VARCHAR(11)
)
AS
BEGIN
.....;
.....;
END

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Jag bara undrade hur syntaxen såg ut. Det verkar likna Oracle mer än SQL server.

Du kan ju titta på detta inlägg där erka försöker göra ungefär samma sak
http://cgi.webforum.nu/wf/Forum42/HTML/000507.html

------------------
essentitia preter non sans multiplicandum

125 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)