2 Stimmen

SQL Server Abfrage zum Geschlechtertausch

Ich habe eine Tabelle mit der folgenden Spalte:

ID, Name, Designation, Salary, Contact, Address, Gender

Versehentlich habe ich für alle männlichen Geschlechter "Female" und für alle weiblichen Geschlechter "Male" eingegeben. Zum Beispiel

0023 Scott Developer 15000 4569865 Cliff_Eddington,USA Female

In der obigen Zeile sollte es Male statt Female heißen. Und es gibt alle Male, deren Geschlecht als Female aktualisiert wurde. Dasselbe gilt für alle weiblichen Personen, deren Geschlecht als männlich aktualisiert wurde.

Gibt es eine einzelne Abfrage, durch die ich alle Zeilen ändern kann, deren Geschlecht männlich ist, ändern Sie es in weiblich und alle Zeilen, deren Geschlecht weiblich ist, ändern Sie es in männlich.

0voto

SidD Punkte 4799

DIES IST DIE RICHTIGE.

 UPDATE dbo.EmpGender
    SET Gender = (CASE
        WHEN Gender = 'MALE' THEN 'FEMALE' ELSE 'MALE'
    END)

IF YOU DONT WANT TO USE CASE STATEMENT THEN.

 UPDATE dbo.EmpGender
SET Gender = REPLACE(('fe'+Gender),'fefe','')

IN SQL 2012 YOU CAN USE
UPDATE dbo.EmpGender
SET Gender = IIF(Gender = 'male', 'female', 'male')

0voto

Sagar Maniar Punkte 1
UPDATE GENDER(TABLE NAME)
SET GENDER(COLUMN NAME) = CASE WHEN GENDER(COLUMNNAME)='MALE'
                                   THEN 'FEMALE'
                               ELSE 'MALE'
                          END;

Hier sind der Tabellenname und der Spaltenname identisch, so dass sie eindeutig in Klammern angegeben sind.

0voto

Kenneth Chen Punkte 1

Ein etwas altes Thema, es sollte ein bisschen schneller sein, IF zu verwenden, um das Geschlecht zu tauschen, verglichen mit CASE WHEN:

UPDATE table
   SET Gender = IF(GENDER='Male','Female','Male');

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X