エントリが文字列であるSQL列があります。最後の2文字をトリミングした後、これらのエントリを表示する必要があります。エントリが199902345
の場合、1999023
を出力する必要があります。
TRIMを調べてみましたが、最後の2つの文字が何であるかがわかっている場合にのみトリムするように見えます。しかし、私の場合、最後の2つの数字が何であるかはわかりません。破棄する必要があります。
つまり、要するに、MySQLの文字列操作は、文字列の最後の2文字をトリムするために何を可能にしますか?
文字列の長さが固定されていないことを付け加えなければなりません。 9文字、11文字、その他何でもかまいません。
文字列から最後のnを除くすべての文字を選択するには(または別の方法で、最後のn文字列の文字); SUBSTRING
および CHAR_LENGTH
一緒に機能します:
SELECT col
, /* ANSI Syntax */ SUBSTRING(col FROM 1 FOR CHAR_LENGTH(col) - 2) AS col_trimmed
, /* MySQL Syntax */ SUBSTRING(col, 1, CHAR_LENGTH(col) - 2) AS col_trimmed
FROM tbl
文字列の末尾から特定の部分文字列を削除するには、 TRIM
関数を使用します。
SELECT col
, TRIM(TRAILING '.php' FROM col)
-- index.php becomes index
-- index.txt remains index.txt
部分文字列の代わりにLEFT(string、length)関数を使用しない理由。
LEFT(col,length(col)-2)
こちらをご覧ください https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_left Mysql文字列関数の詳細をご覧ください。
LENGTH(that_string)
を使用して、SUBSTRING()
で削除したい_number of characters
_を選択するか、TRIM()
関数を使用できます。