webForumDet fria alternativet

Update

Databaser & SQL

5 svar · 468 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej,

Jag vill göra en update enligt:

Update [tblObject]
Set [Modified] = GetDate(),
      [Name] = [Custom2]
Where [Level] = 0

Men om Custom2 är Null eller '' (tom sträng) så vill jag behålla [Name]

Hur?

Ms sql

Mvh
Henrik

Medlem sedan jan. 20022 440 inlägg
#2
IF [Custom2] = ''
    Update [tblObject]
    Set [Modified] = GetDate()
    Where [Level] = 0
ELSE
    Update [tblObject]
    Set [Modified] = GetDate(),
          [Name] = [Custom2]
    Where [Level] = 0
Medlem sedan jan. 20013 582 inlägg
#3

Jag sökte runt lite och hittade något sånt här:

UPDATE tblObject
SET 	[Modified] = Getdate(),
	[Name] = 
    		( CASE
         		WHEN [Custom2] = '' OR [Custom2] IS NULL THEN
				[Name] = [Name]
         		ELSE 
				[Name] = [Custom2]
       			END
    		)
WHERE [Level] = 0

Skulle det fungera?

Medlem sedan jan. 20013 582 inlägg
#4

Eller kanske bara:

UPDATE tblObject SET Modified = GetDate(), Name = Custom2 WHERE Level = 0 And (Custom2 <> '' Or Custom2 Is NOT Null)

Typ?

Medlem sedan dec. 20025 483 inlägg
#5

Eller

UPDATE tblObject SET Modified = GetDate(), Name = Custom2 WHERE Level = 0 And Custom2 <> '' And Custom2 Is NOT Null
Medlem sedan jan. 20013 582 inlägg
#6

Så får det bli....

263 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)