varcharから最後の4文字を取得するにはどうすればよいですか?


92

最後の4文字をvarcharフィールドからのみ取得しようとしています。すべての行は異なる長さです。これを実現するには、どの関数を使用する必要がありますか?

回答:



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

LENGTH文字列の長さをSUBSTR返し、「位置の長さ-4」から4文字を返します


2
SOへようこそ。回答を投稿していただきありがとうございます。コードにコンテキストを追加し、コードをフォーマットすることも検討してください。
リチャードエリクソン2016

2
ここに1つずつバグがあります。する必要がありますSUBSTR(column, LENGTH(column) - 3, 4)。長さがたまたま4の場合、位置1から始めて、4文字を取る必要があります。
カール



9

Oracle SQLの場合SUBSTR(column_name, -# of characters requested)、特定のクエリの最後の3文字を抽出します。例えば

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

ただ注意してください、これはms sql / sql-serverでは機能しませんよね?
ScottFoster1000 2018年

-3

ハッカーランクでテストされたソリューション....

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');
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.