質問: SUBSTRINGで指定した範囲の文字を表示させようと思っているのですが、 行の中には1桁の物と2桁の物があります。 この内、2桁目のみを表示させたいのですが、1桁しか無いものは0と表示して欲しいです。 SELECT SUBSTRING ([コメント] ,2 ,2) これで実行すると2桁ある物は数字が表示されますが、1桁しか無い物は空(null?)になってしまいます。 ちなみにISNULLをやっても変化が無かったのでNULLが入っているというわけではないそうです。 何か方法があれば教えてほしいです。 また、無理にSUBSTRINGを使わなくてはいけないわけではないのでもっと良い方法があればそちらを教えてもらいたいです。 どうかよろしくお願いします。
回答: 0という文字を最後に追加してから、2桁目(2文字目)を取り出すようにすれば良いと思います。 具体的には、 ``` SELECT SUBSTRING (CONCAT([コメント],"0") ,2 ,2) ``` というように変えます。 CONCATは文字列を連結する関数で、「CONCAT([コメント],"0")」の部分が、0という文字を最後に追加しているところです。 こうすると、1~9であったものが、10~90に変わります。そして、2桁目を取り出せば、0が得られます。 元々2桁であったものは、その後ろに 0 が付けられていても、2文字目を取り出せば、2桁目の数字が得られます。(元のとおりに動作します)