2012-02-20 13 views
7

表名の欄:Employee
列名:Emp_nameアップデートは、すべての行

Emp_nameは、この内容を持っています

xx\rama, 
xx\rajesh, 
xx\vignesh 

私はすべての行からxx\を除去することにより、テーブルの従業員を更新する必要があります列Emp_name

私を助けてください。

答えて

10
UPDATE Employee 
SET EMP_Name = REPLACE(Emp_name, 'xx\', '') 

これは、すべてのレコードにxx\のすべての出現箇所を削除します。

+0

ご回答いただきありがとうございます。 Employeeテーブルの上記の列の最初の行のみを更新する方法を教えてください。 –

+0

上記の同じアップデートをどのようにロールバックできますか? –

+0

これらの行を識別可能にするものを消去しているわけではありません。 – JNK

1
UPDATE [Employee] 
SET Emp_Name=REPLACE(Emp_Name, 'xx\', '') 

あなただけのただ最初を更新したい場合は、その後の操作を行います。

UPDATE [Employee] 
SET Emp_Name=REPLACE(Emp_Name, 'xx\', '') 
WHERE Emp_Id=(SELECT MIN(Emp_Id) FROM [Employee]) 
+0

お返事ありがとうございます。テーブルEmployeeの列の最初の行だけを更新する方法を教えていただけますか? –

+1

これは、最初の行として記述した内容によって異なります。テーブルにはどのような列がありますか?あなたはプライマリキーフィールドを持っていますか?最初の行としてクラス分けした「主キー」フィールドの値は何ですか? – Curt

+0

私の主キーとしてEmp_idを取得しました –

4
update Employee set 
Emp_name = substring(Emp_name, 4) 
where Emp_name like 'xx\\%'; -- escaped backslash as per your database flavour 
+0

+1別のアプローチ – JNK

+2

私はこれが動作するとは思わない。最後の行を 'Emp_name like 'xx \\%'' – Curt

+0

に変更する必要があると思います。 Employeeテーブルの上記の列の最初の行のみを更新する方法を教えてください。 –

-1

私は「これを想定し、mはMS SQLであるので、それであれば、これはすべき仕事

更新従業員

セットemp_name = right(e mp_name、len(emp_name) - 3)

+0

お返事ありがとうございます。 Employeeテーブルの上記の列の最初の行のみを更新する方法を教えてください。 –

+0

あなたがemp_nameを知っていれば、emp_name = 'somename'の場合はemployee(emp_name、len(emp_name) - 3)を更新できます。 emp_name =(従業員からトップ1を選択) – nikolifish