我的表"Employee“中有一个列"employee_Id”。
employee_Id有员工姓名和出生日期。例如:
Jason-21996和Buttler
请帮我写一个select查询,返回Jason和Buttler作为输出。
这是我正在尝试的查询:
select substring(employee_Id,1, LOCATE('-',employee_Id) - 1) as Emp_ID from Employee
我看到了这个错误:
SQL Error [42815]: THE DATA TYPE, LENGTH, OR VALUE OF ARGUMENT 3 OF SUBSTRING IS INVALID. SQLCODE=-171, SQLSTATE=42815, DRIVER=4.9.78编辑1:根据@Mark的建议,我已经按如下方式编辑了查询
select substring(employee_Id,1, LOCATE('-',employee_Id || '-') - 1) as Emp_ID from Employee
我得到了同样的错误。我尝试运行定位,发现它返回Buttler的索引为15,因为列长度是15。
发布于 2021-05-07 21:10:09
按原样运行以下代码。
select substring(employee_Id, 1, LOCATE('-', employee_Id || '-') - 1) as Emp_ID
from
(
SELECT 'Jason-21996' FROM SYSIBM.SYSDUMMY1
UNION ALL SELECT 'Buttler' FROM SYSIBM.SYSDUMMY1
) Employee (employee_Id);它对你有效吗?
发布于 2021-05-06 18:27:55
https://stackoverflow.com/questions/67416190
复制相似问题