sql - 如何使用sql查询以相反的顺序显示数据?
问题描述
假设我已将名称列中的数据存储为 "S B" ,我想使用 SQL 查询将数据显示为 "B S"。又如:“棕丹”原始数据,显示数据“棕丹”。
名字和姓氏没有存储在单独的列中,因此我无法理解如何容纳空格。另外我想让这个查询通用,所以想为 middle name 添加规定,如果有的话。我想到了类似的东西: SELECT SUBSTR( )||" "||( )... 我如何从字符串的末尾开始阅读并适应间距?
解决方案
您可以使用以下方法提取这两个名称regexp_substr()
:
select regexp_substr(name, '[^ ]+', 1, 1) as first_name,
regexp_substr(name, '[^ ]+', 1, 2) as second_name
您也可以在 中使用这些表达式order by
。
推荐阅读
- docker - 在 docker 文件中执行 gradle 命令时出错
- sql - 在coldfusion中正确查询cfscript?
- python - 如何防止元素在kivy中过渡?
- php - 使用 Slack 斜杠命令找不到触发器 ID?
- spring - spring api项目中如何设计RabbitMQ实现?
- go - go 格式错误的导入路径空路径元素
- polymorphism - ocaml 多态性 - 强制类型符合多态类型
- python-3.x - 如何使用带有“utf-8”编码的“filedialog.askopenfile”打开文件。我可以打开文件,但它以不同的编码打开
- dynamics-crm - Dynamics CRM 2016 On-Prem 插件 - 异常:无法加载文件或程序集“Microsoft.IdentityModel.Clients.ActiveDirectory”
- node.js - Gatsby:在插件中执行之前在 graphql 查询中注入一个字段