有没有一个SQL函数可以帮助我反转字符串的顺序?

问题描述 投票:0回答:2

我有这个字符串“年/月”,我想将其设为“月/年”。

现在我研究了

REVERSE
函数,但这会将
'2023/10'
之类的东西转换为
'01/3202'
,这不是我想要的。

然后我想到了正则表达式,但我不知道如何使用正则表达式函数来识别“/”并将“/”前面的所有内容移动到字符串的末尾。

也许类似

REGEX_REPLACE
的东西可以工作?没用过这个。

任何帮助将不胜感激。

sql regex hana sap
2个回答
1
投票

如果数据始终按照您所描述的方式格式化,并且不需要进行完整性检查,那么一种简单的方法就是。

SELECT RIGHT('2023/10',2) + '/'+ LEFT('2023/10',4)

0
投票

我建议使用字符串运算符。我在 PostgreSQL 中写了一个答案,但是几乎每个 SQL 数据库都以相对相同的方式具有此功能,你应该只阅读文档。

正如 PostgreSQL 文档中所写,我们有一个

substring
函数和一个
concat
函数。因此,您需要做的就是从“YYYY/MM”字符串中获取第六个和第七个字符,将其与“/”字符连接,然后将结果与前四个字符连接。

select concat(substring('2023/10' from 6 for 8), '/', substring('2023/10' from 0 for 5))
// response: '10/2023'
© www.soinside.com 2019 - 2024. All rights reserved.