如何从varchar中获取最后四个字符?


92

我试图只从varchar字段中获取最后四个字符。所有行的长度都不同。我应该使用什么功能来完成此任务?

Answers:



20
SUBSTR(column, LENGTH(column) - 3, 4)

LENGTH返回字符串的长度,并SUBSTR从“位置长度-4”返回4个字符


2
欢迎来到SO,感谢您发布答案。请考虑将上下文添加到您的代码中,并设置代码格式。
理查德·埃里克森

2
这里有一个错误的bug。应该是SUBSTR(column, LENGTH(column) - 3, 4)。如果长度恰好是4,我们需要从位置1开始并取4个字符。
卡尔,



9

对于Oracle SQL,SUBSTR(column_name, -# of characters requested)将提取给定查询的最后三个字符。例如

SELECT SUBSTR(description,-3) FROM student.course;

请注意,这不适用于ms sql / sql-server,对吗?
ScottFoster1000

-3

在hackerrank上测试过的解决方案。

select distinct(city) from station
where substr(lower(city), length(city), 1) in ('a', 'e', 'i', 'o', 'u') and substr(lower(city), 1, 1) in ('a', 'e', 'i', 'o', 'u');
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.