Varför?

Databaser & SQL

2 svar · 197 visningar · startad av erik_nordell

Medlem sedan aug. 2000431 inlägg
Trådstart#1

Om jag har ett textfält... i enterprise manager så står det 16 (lenght) eller nåt sånt...
har hört att det inte betyder längden, dvs max antal tecken i fältet... hur är det?
vad står 16 för?
och varför blir det tex: hej och sen en massa mellanslag till det blir 16 tecken?
om jag ska ta ut rs("namn") tex och jämföra den med erik... (namn=erik)
if rs("namn") = "erik" then
response.write "jo..."
else
response.write "fel"
end if
då får jag fel... men om jag skriver ut dem bredvid varandra så ser dem likadana ut....
vad?
hur?

Medlem sedan dec. 200012 464 inlägg
#2

Det låter som om du skulle byta typ till varchar, dvs att det är variabel längd.

Medlem sedan juni 200032 967 inlägg
#3

Ett textfält i SQL Server rymmer, om jag inte minns fel, 2 Gb data. 16 i detta fall är hur mycket data som allokeras för pekaren till textfältet.
Text- och image-fält lagras inte riktigt på samma sätt som andra fälttyper i SQL Server.

Slutsats: 16 har inget att göra med hur mycket text som får plats i fältet.

Mvh,

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