Нужна помощь с SQL У меня есть таблица с EmployeeID нижеобновления SQL Query для целочисленного типа данных
11
22
1
55
2
Я хотел обрезать последние цифры всех строк и получить результат в виде
1
2
1
5
2
Нужна помощь с SQL У меня есть таблица с EmployeeID нижеобновления SQL Query для целочисленного типа данных
11
22
1
55
2
Я хотел обрезать последние цифры всех строк и получить результат в виде
1
2
1
5
2
USE это один
CASE WHEN LEN(ColumnName)>1 THEN LEFT(ColumnName, LEN(ColumnName)-1) ELSE ColumnName END
w hat происходит, если LEN (ColumnName) = 0 – Anjana
, если это Zero, тогда выполните else part –
литая INT, как VARCHAR и использовать право выбора столько цифр, сколько вам нужно.
select cast(right(1,cast(EmployeeID as varchar)) as int)
на самом деле просто делает
select right(1,employeeId) should work too.
, если вы хотите обновить таблицу, то
update table
set employeeid = right(1,employeeId)
Я хотел обновить таблицу. – Anjana
Попробуйте this-
UPDATE your_table SET EmployeeID=SUBSTR(TO_CHAR(EmployeeID),1,1);
UPDATE tableName
SET EmployeeID = LEFT (EmployeeID, CASE WHEN LEN(EmployeeID) > 1 THEN LEN(EmployeeID) - 1 ELSE 1 END)
Большинство баз данных поддерживают функцию left()
. Он автоматически преобразует целое число в строку, а затем результат возвращается к целому. Поэтому самое простое утверждение:
update t
employeeId = left(employeeId, 1);
Примечание: В некоторых базах данных, это было бы substr(employeeId, 1, 1)
или substring(employeeId, 1, 1)
.
Кроме того, этот оператор выполняет две неявные преобразования типов.
Вы также можете добавить where employeeId like '__%'
, если хотите ограничить update
строками, которые на самом деле будут меняться.
Что вы пробовали? это выглядит довольно прямолинейным оператором обновления с строковыми функциями 'Update TableName set EmployeeID = left (EmployeeID, 1), где len (EmployeeID)> 1' предполагает неявное литье по типу данных int. Хотя это было бы ошибкой, если в столбце есть ПК или уникальный индекс. Не уверен, что вы действительно хотели бы сделать это на том, что кажется полем идентификатора. – xQbert
Каков тип столбца идентификатора сотрудника? –
Тип данных целое – Anjana