---
title: "SQL server: Problem med"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/167190-sql-server-problem-med"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Lukaspojken"
published: "2007-12-12T09:58:49.000Z"
updated: "2007-12-13T13:55:25.000Z"
replies: 1
views: 493
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/167190-sql-server-problem-med"
---

# SQL server: Problem med

## #1 — Lukaspojken, 2007-12-12T09:58Z

Hej
Jag skulle behöva lite hjälp med sql :) Jag har en kolumn som är av typen varchar. Raderna som finns i tabellen kan tex vara dessa:
 

```
1.1
1.10.2
1.100.21.1.2
11
2
```

 
Den önskvärda sorteringen på tabellen är enligt följande:
 

```
1.1
1.10.2
1.100.21.1.2
2
11
```

 
Hur lyckas man med detta? Helst skulle jag vilja få till sorteringen via sql och inte blanda in tex en dotnet-comparer eller något liknande. Är det någon som har något förslag eller en lösning på problemet?

Jag kom så här långt:
Order by IsNull(Cast(TemplateNumber as float), 0)

Och det fungerar bra tills det blir fler punkter än en, dvs 1.10.2 och 1.100.21.1.2 smäller och det är ju inte så konstigt.

Permalänk: https://www.webforum.nu/p/167190

## #2 — Lukaspojken, 2007-12-13T13:55Z

Jag hittade ett script som hanterar det jag vill. För den som är intresserad så finns den på den här sidan:

<http://www.adp-gmbh.ch/ora/misc/sort_chapter/index.html>

Det finns dock en liten begränsning och det är att den tillåter 4 "digits" men jag tror det är bara att höja upp ett värde i funktionen om man vill få det att fungera.

Permalänk: https://www.webforum.nu/p/2060874

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/167190-sql-server-problem-med
