我有一个区分大小写的列。 如何在所有记录中将Shiderel,shPersonel,sHperSonel替换为ShPersonel?
我的专栏数据是:
1- SHpersonel = 12 And Password= Ayuy122
2- ShpeRsonel = 10 And Password= jkjIUD122
3- ShPersonel = 08 And Password= Kjjam
...
答案 0 :(得分:1)
您可以使用许多DBMS支持的LOWER
(或UPPER
)来查找不区分大小写的值并更新:
update your_table
set col = 'ShPersonel'
where lower(col) = 'shpersonel';
进一步澄清说明上述数据存储在一个列中 - 这不是应该如何存储的。
您应该将数据存储在单独的列中,然后查找进一步的规范化以删除不需要的依赖项。
答案 1 :(得分:0)
class LeaveManagerFragment extends Fragment implements DatePickerDialog.OnDateSetListener
editText_toDate.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onClick(View v) {
clickedEditText = 2;
DatePickerDialog datePickerDialog = new DatePickerDialog(getContext(), date, myCalendar
.get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
myCalendar.get(Calendar.DAY_OF_MONTH));
datePickerDialog.setOnDateSetListener(getContext());
datePickerDialog.show();
}
});
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
System.out.println("Date set");
}
答案 2 :(得分:0)
您没有说出您正在使用的DBMS。如果是SQL-Server,以下内容适用于您:
update MyTable
set TheData =
concat(
left(TheData,charindex('shpersonel',lower(t.TheData))-1),
'ShPersonel',
right(t.TheData,len(t.TheData) - charindex('shpersonel',lower(t.TheData)) - len('ShPersonel'))
)
from MyTable t
where
charindex('shpersonel',lower(t.TheData))>0
对于其他DBMS,您需要将charindex替换为DBMS的等价物。例如,Oracle和MySQL使用InStr
(它的参数需要相反的顺序)。