---
title: "Update \"Null\""
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/82671-update-null"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "SteveP"
published: "2003-07-24T10:08:47.000Z"
updated: "2003-07-24T10:47:12.000Z"
replies: 14
views: 506
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/82671-update-null"
---

# Update "Null"

## #1 — SteveP, 2003-07-24T10:08Z

Jag har en tabell som ska uppdateras.
Alla fälten kan vara NULL i databasen. Men om man gör en update utan att fylla i nån av fälten så får jag 

```
Microsoft OLE DB Provider for SQL Server error '80040e14' 

Line 1: Incorrect syntax near ','. 

SpPostListAction_Update '02/01/1902','mm222','10/10/2001',,'10/10/2003',67699
```

Som ni ser så är det 3:e sista Tomt.

Men det fältet får ju vara Null enligt databasen. Så varför klagar den och vad kan jag göra åt det?

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

## #2 — @nders, 2003-07-24T10:10Z

Bara för att fältet tar emot null betyder det inte att du får utelämna värde helt. Du får helt enkelt slänga med värdet *Null* i SQL-frågan.

Förresten, du vet att SQL-forumet passar alldeles ypperligt när man har SQL-problem? ;)

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

## #3 — SteveP, 2003-07-24T10:12Z

Ah ok.
Jo det är jag medveten om men jag trodde jag behövde nåt IF STATEMENT för detta :)

Hur skulle jag slänga med värdet Null i SQL frågan då ?
Lika bra att jag frågar på här, annars blir det en onödig dubbelpost. Denna posten flyttas väl till SQL forumet.

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

## #4 — @nders, 2003-07-24T10:13Z

> **SteveP skrev:**
>
> Denna posten flyttas väl till SQL forumet.

Jepp, den kommer flyttas. ;)

```
SpPostListAction_Update '02/01/1902','mm222','10/10/2001',[b]Null[/b],'10/10/2003',67699
```

Mvh

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

## #5 — SteveP, 2003-07-24T10:14Z

jo men jag måste väl ha nåt ifstatement så den fattar att den ska skriva in Null när request.form är tom?
Typ såhär

```
If Request.Form("Priority") = "" then VarPriority = "Null"
```

Fast detta kommer ju inte fungera nå bra på kolumner med datatypen "DATETIME" eftersom den kommer uppfatta "Null" som Varchar

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

## #6 — @nders, 2003-07-24T10:17Z

Jepp. Det är vid sådana tillfällen man förbannar Microsoft för att IIF() inte är implementerat i VBScript.

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

## #7 — @nders, 2003-07-24T10:17Z

Nej, den kommer inte uppfatta null som varchar. Null är null.

**r**: dvs, så länge som du skriver det som just *null*, utan apostrofer runt.

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

## #8 — SteveP, 2003-07-24T10:18Z

Så fick det bli.
Vissa klagade på "Null" och andra på Null så man fick variera lite beroende på datatyp... knasigt

```
If Request.Form("Priority") = "" then VarPriority = Null
```

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

## #9 — @nders, 2003-07-24T10:19Z

Det borde faktiskt vara "Null", eftersom null är en sträng ända fram tills SQL Server ska tolka värdet, då ska det inte ha några strängliteraler (apostrofer alltså) runt sig.

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

## #10 — SteveP, 2003-07-24T10:30Z

Skriver jag

```
If Request.Form("DoneDate") = "" then VarDoneDate = Null

Så resulterar det i

SpPostListAction_Update '02/01/1902','Test','01/01/2003',2,'',67699
```

Alltså det blir bara helt tomt som innan, eftersom Null är inget värde alls.

Men skriver jag

```
If Request.Form("DoneDate") = "" then VarDoneDate = "Null"

Så resulterar det i

SpPostListAction_Update '02/01/1902','Test','01/01/2003',2,'Null',67699
```

Bara för att enkelfnuttarna hamnar runt NULL
Då försöker den ju konvertera till VarChar.
Hur blir man av med enkelfnuttarna runt.

Jag måste ju ha enkelfnuttar runt i SQL queryn, för det är DATETIME

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

## #11 — @nders, 2003-07-24T10:31Z

Nej, du ska inte ha några enkelfnuttar. Bort med dem. Null är ett giltigt värde, och skall inte ha apostrofer runt sig. När det handlar om nullvärden spelar det ingen roll vad det är för datatyp på fältet.

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

## #12 — SteveP, 2003-07-24T10:36Z

Ja jag förstår det men hur får jag bort enkelfnuttarna.
Dom är ju där eftersom VarDoneDate är DATETIME och fyller man i ett datum så måste ju enkelfnuttarna finnas. Men skriver man inte i nåt så ska VarDoneDate = "Null"
Men då blir det ju 'Null' i queryn eftersom enkelfnuttarna ligger i Queryn som skickar med VarDoneDate

```
'" & VarDoneDate & "'
```

Så ligger den ju i Queryn.
Sätter jag den VarDoneDate = "Null" så kommer den ju ändå skriva ut 'Null' med enkelfnuttarna eftersom dom finns med i Queryn.

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

## #13 — @nders, 2003-07-24T10:38Z

Då får du slänga med apostroferna från if-satsen.

```
If Request.Form("DoneDate") = "" then VarDoneDate = "Null" Else varDoneDate = "'" & Request.Form("DoneDate") & "'"
```

... och ta bort de ur koden där du skapar SQL-frågan.

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

## #14 — SteveP, 2003-07-24T10:42Z

Ok tack!
Trist att man måste gå den vägen.

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

## #15 — LarsG, 2003-07-24T10:47Z

Flyttas från ASP

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/82671-update-null
