sql - 替换单元格中所需的数字
问题描述
如果学生相册包含“000”的“357”数字,我需要更换单元格。列的格式为 NUMBER。数字专辑可以是这样的:90432,90709,83570
,所以这些数字可以是“里面”。对于83570
我应该打印的数字80000
。
我试过这样:
select student.imie,
student.nazwisko,
case
when student.nralbumu like '%357%' then replace(nralbumu, '%357%', '%000%')
else student.nralbumu
end album
from student
但它没有用。我收到如下错误:
00932. 00000 - “不一致的数据类型:预期的 %s 得到了 %s”
解决方案
直接使用REPLACE
,因为如果数字不包含 357,则不会发生任何事情
SELECT TO_NUMBER(REPLACE(TO_CHAR(nralbumu), '357','000'))
FROM STUDENT
或者如果您不需要将结果作为数字
SELECT REPLACE(TO_CHAR(nralbumu), '357','000')
FROM STUDENT
推荐阅读
- python - 如何解决 numpy 数组中值不一致的问题?
- dynamics-crm - 获取销售订单详细信息 Dynamics web Microsoft 365
- flutter - 升级到版本 1.27.0-8.0.pre 后 Flutter 代码无法编译
- android - 删除按钮上的按钮 Kotlin
- python - /accounts/login/ 'CustomLoginForm' 对象的 AttributeError 没有属性 'email_field'
- php - Wordpress 自定义表单发布以将数据发送到另一个页面
- finite-automata - 包含 1011 作为子字符串的 DFA
- xor - 只有 XOR 门合成 Yosys
- ca - Autosys 退出代码含义
- spring - Spring security - 创建 2 个具有特定匹配器的过滤器链