自分には、なぜそうなるのかわからないです。
photo credit: lu_lu via photopin cc
数値から文字列に変換したときに起きた現象
お客さんから頼まれて、データ抽出のSQLを書きました。
後加工はできるだけしたくなかったので、数値の10万の位でデータを分割する方法を考えました。
考えた結果、数値から文字列に変換し、文字列を10万の位で分割して、分割できるようにすればいいと思いつきました。
思い付きを実現できるSQLは、
TO_CHAR( member_id, '999999' )
と考えて試したら、なぜか文字列の先頭にスペースが入って7文字になっていました。
SUBSTRING( TO_CHAR( member_id, '999999' ) FROM 1 FOR 1)
とすると、スペースになってしまいます。
原因を推測
SQLの書き方が間違っていれば、エラーになるはずなので、文法は間違っていなさそうです。
数値は必ず6桁と決まっているので、上記の書き方で間違いは無いはずです。
原因 がわからず状態でも、データ抽出はできるので、対外的には問題ありませんが、自分としては、納得できない状態です。