gpt4 book ai didi

sql - PostgreSQL:在单个 SQL SYNTAX 中按从文本列计算的数值排序

转载 作者:行者123 更新时间:2023-11-29 12:01:03 26 4
gpt4 key购买 nike

列有一个字符串值,如“1/200”、“3.5”或“6”。如何在单个 SQL 查询中将此字符串转换为数值?

我的实际SQL比较复杂,这里举个简单的例子:

SELECT number_value_in_string FROM table 

number_value_in_string 的格式将是以下格式之一:

  • ##
  • #.##
  • #/###

我需要按此列的数值进行排序。但是当然 postgres 不同意我认为 1/200 是一个合适的数字。

最佳答案

看到你的名字,我不得不发布一个简化的答案:

SELECT id, number_value_in_string FROM table
ORDER BY CASE WHEN substr(number_value_in_string,1,2) = '1/'
THEN 1/substr(number_value_in_string,3)::numeric
ELSE number_value_in_string::numeric END, id;

忽略可能被零除。

关于sql - PostgreSQL:在单个 SQL SYNTAX 中按从文本列计算的数值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7617110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com