使用 split_part 后替换空字段中的值

2024-02-28

我有两列,id integer and version text。我正在尝试将字符串转换为version转换为整数,以便我可以选择 id 的最大(最新)版本。

然而,第一个实例id将自身存储为version。例子:

id | version
---+--------
10 | '10'

与以下相反:

id | version
---+--------
10 | '10-0'

附加行遵循约定 id:10,版本:10-1。 ETC。

我怎样才能做到这一点?我努力了split_part()并投射为int。然而,split_part(version, "-", 2)将返回看起来像空字符串的内容。我尝试过使用COALESCE(splitpart..., '0')无济于事,因为它尝试读取字段索引 2 返回的空字段。


使用组合合并()和nullif(), https://www.postgresql.org/docs/current/static/functions-conditional.html#FUNCTIONS-COALESCE-NVL-IFNULL例子:

with my_table(version) as (
values
    ('10'), ('10-1'), ('10-2')
)

select 
    version, 
    split_part(version, '-', 1)::int as major, 
    coalesce(nullif(split_part(version, '-', 2), ''), '0')::int as minor
from my_table

 version | major | minor 
---------+-------+-------
 10      |    10 |     0
 10-1    |    10 |     1
 10-2    |    10 |     2
(3 rows)    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 split_part 后替换空字段中的值 的相关文章

  • 从java运行sqlplus脚本的简单方法

    我有包含 sqlplus 特定脚本的 sql 文件 它包括 或 作为语句终止符 执行存储过程的 EXEC 等 我需要从 java jdbc 执行此脚本 而不需要 sqlplus sql ant任务 maven sql插件无法处理不同的终止符
  • 如何为“%abc%”搜索创建文本索引?

    我想对查询进行索引x like abc 如果我有一个如下表 create table t data varchar 100 我想创建一个索引以便能够有效地执行以下操作 select from t where contains abc 和这个
  • FireDac 添加下划线 1 以区分具有相同名称的 2 个列名

    我有一个连接 2 个表的选择 因此这些表中存在具有相似名称的列 因此现在在检索结果时 FireDac 将下划线 1 添加到第二个列名称以区分这两个表 Select from Table1 inner join Table2 on Table
  • MySQL 5:我的 GROUP BY 字段的顺序重要吗?

    Peeps 我的 MySQL 查询中有一些聚合 计算字段 我的 GROUP BY 子句是动态生成的 具体取决于用户在 Web 表单中选择的选项 很好奇 GROUP BY 子句中列出的字段顺序是否会对计算产生任何影响 例如 SUM AVERA
  • SQL Server 中全文搜索的奇怪行为

    我的 MyTable 带有列消息 NVARCHAR MAX ID 为 1 的记录包含消息 0123456789333444 Test 当我运行以下查询时 DECLARE Keyword NVARCHAR 100 SET Keyword 01
  • 有没有办法将 C# 通用字典拆分为多个字典?

    我有一本 C 字典Dictionary
  • 单个查询删除并显示重复记录

    采访中提出的问题之一是 一张表有100条记录 其中 50 个 是重复的 是否可以用单个 查询删除重复记录 从表中以及选择和 显示剩余 50 条记录 这可以在单个 SQL 查询中实现吗 Thanks SNA 对于 SQL Server 你会使
  • 如何调试参数化 SQL 查询

    我使用 C 连接到数据库 然后使用 Ad hoc SQL 来获取数据 这个简单的 SQL 查询非常方便调试 因为我可以记录 SQL 查询字符串 如果我使用参数化 SQL 查询命令 有没有办法记录 sql 查询字符串以进行调试 我想就是这样的
  • 在内连接中重用 mysql 子查询

    我正在尝试优化查询 试图避免重复用 指示的查询 复杂查询 使用两次 结果相同 原始查询 SELECT news FROM news INNER JOIN SELECT myposter FROM SELECT COMPLEX QUERY U
  • 使用显式创建表语句与 select into 创建表

    使用显式创建表语句和加载数据与选择数据之间是否存在性能差异 此示例仅显示 2 列 但问题是针对使用非常大的表 下面的示例也使用临时表 尽管我也想知道使用常规表的效果 我认为无论表格类型如何 它们都是相同的 临时表场景 Explicitly
  • PL/SQL 过程:如何返回 select 语句?

    我想创建一个存储过程 on ORACLE数据库服务器我的问题是 我不知道如何返回 select 语句 这是程序中应包含的逻辑 输入参数 过滤器1 int 过滤器2 字符串 with cte as select val1 val2 stdde
  • 火鸟删除速度很慢

    我正在做这个简单的交易 DELETE FROM ominve01 WHERE CVE OBS IN SELECT CVE OBS FROM minve01 M WHERE M FECHA DOCU lt 31 12 2010 OR FECH
  • 如何编写不返回任何内容的 postgres 存储过程?

    如何在 postgres 中编写一个根本不返回值的简单存储过程 即使使用 void 返回类型 当我调用存储过程时 我也会返回一行 CREATE FUNCTION somefunc in id bigint RETURNS void AS B
  • SQL Server - SQL 替换整个数据库中所有表中的所有列

    这是一个很遥远的事情 我猜这个问题没有简单的答案 但是 我继承了一个数据库 其中填充了一些可怕的数据 许多包含描述的行都有回车符 这意味着当我们 BCP 输出数据时 它会带有回车符 我的问题 有没有办法在 MS SQL Server 中对整
  • 更高效的 LINQ 查询

    有人可以帮我将此查询循环变成高效的 Linq 查询吗 我将其加载到 TreeView 中 因此必须附加每个项目 包含也非常低效 延迟加载项目也不起作用 事实上 这个查询访问数据库的次数比应有的要多 public IQueryable
  • Postgres 从 10 升级到 12:pg_upgrade 由于存在所需库而失败

    usr pgsql 12 bin pg upgrade gt b usr pgsql 1 pgsql 10 pgsql 12 gt b usr pgsql 10 bin gt B usr pgsql 12 bin gt d var lib
  • LEFT JOIN 比 INNER JOIN 快得多

    我有一张桌子 MainTable 有超过 600 000 条记录 它通过第二个表连接到自身 JoinTable 在父 子类型关系中 SELECT Child ID Parent ID FROM MainTable AS Child JOIN
  • 在 Oracle 中如何将多行组合成逗号分隔的列表? [复制]

    这个问题在这里已经有答案了 我有一个简单的查询 select from countries 结果如下 country name Albania Andorra Antigua 我想在一行中返回结果 如下所示 Albania Andorra
  • parent_id 是外键(自引用)并且为 null?

    浏览 Bill Karwin 的书 SQL Antipatterns 第 3 章 Naive Trees 邻接表 父子关系 有一个注释表的示例 CREATE TABLE Comments comment id SERIAL PRIMARY
  • postgresql ON CONFLICT 具有多个约束

    有一个约束违规处理 冲突时 语句 如果我想检查 1 个 约束 则工作正常 例如 INSERT INTO my table co1 col2 colN VALUES ON CONFLICT col1 col2 DO NOTHING or up

随机推荐

  • Flask:获取从 Postman 发送的 gzip 文件名

    我正在从 Postman 向 Flask 端点发送 gzip 文件 我可以使用该二进制文件request data并阅读 保存 上传等 我的问题是我不知道它的名字 我怎样才能做到这一点 我的 gzip 文件名为 test file json
  • Django 管理员每次点击后都会要求登录

    我正在开发 Heroku 上托管的 Django 应用程序 我可以使用我的用户名和密码登录管理员 但是 每次单击 或几秒钟后的每次单击 它都会再次将我重定向到登录页面 并显示 next admin model添加到网址 事实上 有时它会要求
  • .NET 枚举类型实际上是可变值类型吗?

    经过反思 我惊讶地发现 保存枚举特定实例实际值的 支持 实例字段并不是枚举类型的字段 private 正如我所想的 但是public 事实并非如此readonly任何一个 IsPublic true IsInitOnly false 许多人
  • 使用 r Markdown、kable 和 kableExtra 渲染表格时出现问题

    我正在尝试使用 r markdown kable 和 kableExtra 输出乳胶表 我在表格渲染代码中遇到错误 该错误不属于 R 生成的乳胶代码的一部分 代码 outTab lt m OutTab gt kable format lat
  • 为什么我不能在重写的方法中添加 Contract.Requires ?

    我正在使用代码契约 实际上 正在学习使用它 我面临着一些奇怪的事情 我重写了在第 3 方程序集中定义的方法 我想添加一个Contract Require像这样的声明 public class MyClass MyParentClass pr
  • 如何减少 mousemove 事件导致的速度减慢?

    我正在运行一个相对简单的函数 更新span s innerHTML on mousemove 该应用程序是一个Leaflet http leaflet cloudmade com 地图 当鼠标移动时 缩放 平移和加载图块时会出现明显的滞后
  • 正则表达式“?:^”是什么意思?

    我正在查看这个子表达式 这是 JavaScript 中的 我知道 当它跟在一个字符后面时意味着 零次或一次 但不确定它在这种情况下意味着什么 当与组一起工作时 您通常有几个选项可以修改组的行为 foo default behavior ma
  • iOS 8 UITableView 旋转错误

    因此 在 XCode 6 上编译应用程序后 我注意到一个奇怪的错误 该错误仅在 iOS 8 上运行时才会发生 这UITableView采取错误的inner更新框架后的尺寸 现在我将尝试解释一下具体情况 我们有一个UITableView侧面旋
  • 在javascript中比较两个数字的问题

    我的html代码是这样的
  • Ruby on Rails 开关 [重复]

    这个问题在这里已经有答案了 有人可以提供一个关于如何在 Ruby 中使用 switch case 来表示变量的示例吗 我假设你指的是案例 时间 case a variable a variable is the variable we wa
  • C++ 构造函数初始值设定项列表抛出异常

    我对以下代码有问题 可以看到我已经在C的构造函数中处理了A的构造函数抛出的异常 为什么还要在main函数中再次捕获并处理异常呢 include
  • 如何使用tcl中的puts更改文本颜色

    我想通过使用 tcl 中的 put 命令来更改控制台中显示的文本颜色以简化调试 我看到很多文章是 abt tk 而不是 tcl 仅供参考 我在 Windows 7 上使用 Active tcl 我尝试过其他人提供的以下代码 http www
  • MySQL 5.1 中需要一个抽象触发器来更新审核日志

    我需要一种方法来检查表中已更改的任何条目并将其传递到审核日志中 它需要从表结构中抽象出来 例如 CREATE TRIGGER table1 update BEFORE UPDATE ON table1 FOR EACH ROW BEGIN
  • 我如何摆脱这个 unicode 字符?

    Any idea how to get rid of this irritating character U 0092 from a bunch of text files I ve tried all the below but it d
  • 如何迭代对象数组以进行预输入?

    http angular ui github io bootstrap http angular ui github io bootstrap 我想使用引导程序的预输入 并在对象中搜索两个不同的密钥对 如何迭代数组对象 另外有人可以解释一下
  • Git 可以忽略内容相同但时间戳更新的文件吗

    我在最近的网络项目中使用 FTP 我尝试使用 git 在 FTP 上保留所有更改的本地备份 FTP 服务器似乎无法支持 MFMT 命令 或者我犯了一些其他错误 下载的文件不保留其时间戳 当我对新下载的文件进行 git diff 时 Git
  • sudo pecl 在 os x lion 上安装 apc 错误

    我尝试在 OS X Lion 上使用 pecl 安装 APC sudo pecl install apc 并且它抱怨缺少 pcre h 文件 In file included from private tmp pear temp APC a
  • JavaScript typeof 曾经返回过“数组”吗?

    我在各种开源项目中都看到过这种习惯用法 it instanceof Array typeof it array 我知道后半部分在 ECMAScript 5 或 6 中不可能是真的 但是是否有一个实现可以从 typeof 返回 数组 或者这是
  • $this->getRequest()->isPost() 返回 false

    我正在处理一个现有代码 最后一个开发人员创建了一个表单 但没有使用 form 代码是 public function indexAction objRequest this gt getRequest var dump objRequest
  • 使用 split_part 后替换空字段中的值

    我有两列 id integer and version text 我正在尝试将字符串转换为version转换为整数 以便我可以选择 id 的最大 最新 版本 然而 第一个实例id将自身存储为version 例子 id version 10