2017-03-01 29 views
3

私はSQL ServerからSASに移行しています。SAS文字列の比較

SQLサーバーでは、 'abc' = 'aBc'が真になる文字列比較で逃げることができました。

これまでのところ、SASはすべての比較でSTRIPとUPPERの各文字列を使用していました。

'abc' = 'aBc'が真となるように設定できるオプションはありますか?

私のGoogle-Fuは私に失敗しました。

答えて

4

私はあなたが(無視する場合) 'I' 修飾子と比較機能を探していると信じています。これが0を返すと、マッチがあります。

(ここではp 70を参照してください。http://support.sas.com/publishing/pubcat/chaps/59343.pdf

data a; 
input string1 $ string2 $; 
datalines; 
abc aBc 
cba CBA 
AbC ABC 
AC AbC 
BCA CAb 
; 
run; 

data b; 
set a; 
c = compare(string1,string2); 
d = compare(string1,string2,'i'); 
run; 
proc print noobs; 
where d = 0; 
var string1 string2; 
run; 
3

Perlの正規表現を使用するPRX関数を試すことができます。

'/ ABC/Iが' どのような場合に、文字列 'ABC' と何も一致する(ための 'I' は/閉鎖後)の例としてPRXMATCHを使用

prxmatch('/abc/i', 'aBc') 

これは文字列が発生する位置であるため1を返します。 SASでhttps://www.cs.tut.fi/~jkorpela/perl/regexp.html

PRX:正規表現の

もっと http://documentation.sas.com/?docsetId=lefunctionsref&docsetVersion=3.1&docsetTarget=n0bj9p4401w3n9n1gmv6tfshit9m.htm&locale=en