2007年3月8日木曜日

LENGTH関数あれこれ



文字通り、文字列の長さを返す関数です。



LENGTH (第1引数)



のように、文字列(文字変数)を引数で与えます。



では、文字列(文字変数)がブランクのときは、どのような結果を返すと思いますか?



以下のような場合です。



 data _NULL_ ;


  x = "A" ;


  y = "" ;


  len_x = length (x) ;


  len_y = length (y) ;


  put len_x = ;


  put len_y = ;


 run ;



V8以降ではこの結果は同じになります。


f:id:n-insight:20070312164038g:image


ブランクも1として数えられていますね。



実は、V6ではブランクは0として返してくれたそうです。


(V6の環境がないので結果をお見せることができませんが・・・)




そして、V9では(V8、V6と行ったり来たりですみません)、上記のような違いを区別してくれる関数が加わりました。


LENGTHN関数 です。



構文は至ってシンプルです。



LENGTHN (第1引数)



早速、実行してみましょう。



 data _NULL_ ;


  x = "A" ;


  y = "" ;


  len_x_n = lengthn (x) ;


  len_y_n = lengthn (y) ;


  put len_x_n = ;


  put len_y_n = ;


 run ;



f:id:n-insight:20070312171212g:image


ちゃんと、ブランクの場合に0が返ってきましたね。




ちなみに、LENGTHC関数 というのも加わりまして、


動きは下記のとおりです。



 data _NULL_ ;


  x = "A " ; * Aの後ろに半角スペースが3つ入っています ;


  len_x = length(x) ;


  len_x_c = lengthc(x) ;


  put len_x = ;


  put len_x_c = ;


 run ;



f:id:n-insight:20070312171505g:image


文字列(文字変数)の後続ブランクも含めた結果を返してくれるようです。




以上。LENGTH関数 とそれに関連したモノを紹介しました。


0 件のコメント:

コメントを投稿

ツイート数からみる"バーチャルYouTuber"ブーム

今や YouTuber の話題の半分を占めるほどのクチコミ数に 当社が提供するソーシャルビッグデータ検索ツールの「 beInsight (ビーインサイト)」を使って、話題の「バーチャル YouTuber 」について調べてみました。 「バーチャル YouTuber...