webForumDet fria alternativet

LEN räknar inte med mellanslag på slutet.

Databaser & SQL

3 svar · 297 visningar · startad av Erik Juhlin

Medlem sedan maj 200010 687 inlägg
Frågan#1

När jag skriver...

SELECT LEN('x  ')

...så blir det 1. Den gör liksom en RTRIM...
Hur kan man komma runt detta? Använder SQL-server.

Medlem sedan maj 200010 687 inlägg
#2

Kör med DATALENGTH nu istället! Någon nackdel med att använda det?

Medlem sedan juni 20022 599 inlägg
#3

Två saker kan ju eventuellt ställa till med problem.

Om datatypen är Unicode (nchar, nvarchar ..) så får du värdet dubblerat eftersom DATALENGTH reurnerar antalet Bytes.

Om fälttypen är fixed-length (utan "var") så returneras alltid hela fältlängden oavsett datan. Väl?

Medlem sedan dec. 200012 464 inlägg
#4

eller en

len(replace(c,' ','$'))
296 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
137 ms — deklarationer (db)
0 ms — hämta statistik (cache)
156 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)