我有这个字符串“年/月”,我想将其设为“月/年”。
现在我研究了
REVERSE
函数,但这会将 '2023/10'
之类的东西转换为 '01/3202'
,这不是我想要的。
然后我想到了正则表达式,但我不知道如何使用正则表达式函数来识别“/”并将“/”前面的所有内容移动到字符串的末尾。
也许类似
REGEX_REPLACE
的东西可以工作?没用过这个。
任何帮助将不胜感激。
如果数据始终按照您所描述的方式格式化,并且不需要进行完整性检查,那么一种简单的方法就是。
SELECT RIGHT('2023/10',2) + '/'+ LEFT('2023/10',4)
我建议使用字符串运算符。我在 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'