webForumDet fria alternativet
Logga in / Bli medlem

Select med bit fält

Databaser & SQL

6 svar · 247 visningar · startad av HeHo

Medlem sedan apr. 2000277 inlägg
Frågan#1

Jag är smått förvirrad just nu...
Har en select som ser ut så här:

SELECT film, mark FROM Bil WHERE mark=1

Den funkar inte......får bara timeout!
Men om jag gör om frågan till tex

SELECT film, mark FROM Bil WHERE film LIKE '743131%'

Så får jag svar på en gång.
Beror detta på att mark är av typen bit
och att film är av typen char?
Går det inte att ha ett vilkor med ett bit fält eller?

Medlem sedan juni 200032 967 inlägg
#2

Hmm. Låter lite knäppt.

Prova:

SELECT film, mark FROM Bil WHERE mark=true

eller helt sonika

SELECT film, mark FROM Bil WHERE mark

Just att det blir timeout är himla märkligt.

Mvh,

Medlem sedan apr. 2000277 inlägg
#3

Hmm...det funkar inte!
när jag skriver bara mark
får jag felmeddelande:

Incorrect syntax near 'mark'

När jag skriver mark=true får jag:

Invalid column name 'true'

Ok! Timeouten beror nog på IIS:en.....jag testade att köra frågan i SQL Query Analyzern och då fick jag svar efter 2:30 min.
Med samma fråga fast med villkoret på film gav 1607 träffar efter 0:00:11 min.

Så jag är ändå förvirrad.....varför tar det så lång tid med ett villkor på ett bit fält?

Medlem sedan dec. 200012 464 inlägg
#4

Det beror väl på vad som är indexerat eller inte.

SQL server har inte stöd för booleska datatyper, så det går inte att använda true/false.

Medlem sedan apr. 2000277 inlägg
#5

OK! Då är jag med....alltså ska man inte göra ett villkor på ett bit fält eftersom, vad jag kan förstå, man inte
kan indexera ett bit fält.
Har jag förstått det rätt?

Medlem sedan juni 200032 967 inlägg
#6

SQL server har inte stöd för booleska datatyper, så det går inte att använda true/false.

Givetvis är det så. Tack för den kunskapen, LarsG. :)

Mvh,

Medlem sedan dec. 200012 464 inlägg
#7

Det går nog att indexera ett bitfält. Sen så hänger det delvis ihop med hur data är fördelat om det blir effektivt att använda indexet.

256 ms totalt · 4 externa anrop · v20260731065814-full.05830320
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)