sql - DB2 - 用于生成自定义长度为一个字符的字符串的 SQL 语法
问题描述
我有一个具有以下状态的数据库表:
Id Animal Length Filler
------------ --------- ----------- -------------
1 DOG 1
2 DOG 3
3 DOG 8
4 DOG 4
5 DOG 8
场景:我尝试通过数据库列中具有相同字符的长度字段的长度生成字符串(比如说'x')。所以 Id 1 的填充符应该是“x”。
这应该以通用方式工作。所以如果长度为 4,它应该创建字符串 'xxxx'。如果长度为 8 'xxxxxxxx' 等。
需要:它应该更新值,以防这是一只狗。我熟悉通过限制 where 条件来更新和选择,但是我不知道如何为另一个选定列的数量创建仅包含相同字符的字符串。
解决方案
使用repeat()
功能:
update tablename
set Filler = repeat('x', length)
where Animal = 'DOG'
但是,如果更新了长度值,我宁愿避免数据不一致,而不是 Filler。或者,至少使用触发器。
推荐阅读
- java - 如何通过 servlet 在 AEM 中使用 JSON 建立节点?
- powerbi - PowerBI 度量中的行和列上下文?
- ruby-on-rails - 在 macOS Big Sur 上安装 Rails 5.2.4.4 时出现 $PATH/rbenv 问题
- javascript - 更改数组输出格式
- java - 我将如何打印一个随机数组,以便它产生一定数量的随机值
- java - 使用颤振从 android 项目 (java/kotlin) 构建 iOS 应用程序
- python - 过滤仅包含空格的数据框列
- javascript - 无法将 dict 数据传递给 jquery。错误显示为:Uncaught SyntaxError: missing ) after argument list)
- position - 如何在 Godot 中定义全局变量?
- swift - 为什么递归 swift 函数定义不会对其初始“值”产生问题?