---
title: "Välja left(sträng, 4) från databasen."
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/40653-välja-left-sträng-4-från-databasen"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "SilvioF"
published: "2002-04-01T22:57:00.000Z"
updated: "2002-04-02T08:30:43.000Z"
replies: 4
views: 222
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/40653-välja-left-sträng-4-från-databasen"
---

# Välja left(sträng, 4) från databasen.

## #1 — SilvioF, 2002-04-01T22:57Z

Jag sitter jsut nu och jobbar mot ett system som någon knepig människa har nyggd databasen för. Jag får inte bygga om någonting eftersom det skulle betyda ett massivt arbete för deras övriga kodare.

Mitt problem är att jag vill välja ut ett visst antal poster efter ålder. Nu är det så att dom har lagrat födelsedatumen på användarna på följande sätt: '1972,10,18' (år, månad, dag) och datatypen varchar(10) i MS SQL Server 2000.

Jag måste nu försöka göra ett urval mot de fyra första tecknen i kolumnen för att kontrollera årtalet.
Jag har försökt med följande:

```
SELECT * FROM members WHERE (LEFT(age, 4) < '1972') AND (LEFT(age, 4) > '1976')
```

, men det fungerade inte.

Någon som har något förslag?

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

## #2 — Pace, 2002-04-02T00:05Z

Ett varchar fält kommer alltid att sorteras i bokstavsordning (eller teckenordning i det här fallet). Så det blir helt enkelt att konvertera till datum/int.

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

## #3 — LarsG, 2002-04-02T07:46Z

SilvioF

Det fungerar att använda left men det villkor du skrev kommer aldrig att bli sant. 

Vilka årtal vill du returnera?

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

## #4 — SilvioF, 2002-04-02T08:16Z

Jag vill returnera alla årtal från 1972 till 1976.

Men jag löste det på annat sätt. Jag byggde upp sql-strängen lite dynamiskt med hjälp av en loop. Lite tjuvknep, men det funkar. Har du ett annat förslag?

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

## #5 — LarsG, 2002-04-02T08:30Z

```
SELECT * FROM members WHERE LEFT(age, 4) between '1972' AND '1976'
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/40653-välja-left-sträng-4-från-databasen
