2

SAS 文档将 LOWCASE 归类为“I18N 级别 2”,这意味着它可以用于单字节、双字节或多字节数据。因此,我希望它可以正确地小写一个 UTF8 字符串(假设我的会话编码是 UTF8),即使它包含多字节字符序列,并且它不会通过单独处理每个字节来破坏它。

鉴于此,KLOWCASE 有什么用?其他 'K' 函数都为不能处理多字节字符串的普通字符串函数提供等效项,例如 KSUBSTR、KREVERSE 等。KUPCASE 和 KLOWCASE 似乎不同,因为它们似乎与非“K”对应物没有什么不同。也许将 LOWCASE 分类为 I18N 级别 2 是不正确的,并且 LOWCASE 完全不知道多字节序列?

4

1 回答 1

1

我无法确认 LOWCASE 与 DBCS 一起按预期工作,但我认为它很可能确实如此(鉴于此处指出:http: //support.sas.com/documentation/cdl/en/nlsref/63072/HTML /default/viewer.htm#p1pca7vwjjwucin178l8qddjn0gi.htm )

我认为它在早期版本的 SAS 中不能与 DBCS 一起正常工作。例如,9.1.3 的兼容性要差得多,更不用说版本 8。由于 SAS 通常出于向后兼容的原因无限期地维护功能,这可能只是一个残留功能。

于 2013-03-19T11:31:18.140 回答