utl_raw.cast_to_varchar2(NLSSORT(')) 是如何工作的
how the utl_raw.cast_to_varchar2(NLSSORT(')) works
为什么这个查询没有给出任何记录。请指导我
SELECT *
FROM DUAL
WHERE utl_raw.cast_to_varchar2(NLSSORT('sravanth','nls_sort=binary_ai'))
LIKE utl_raw.cast_to_varchar2(NLSSORT('sravan','nls_sort=binary_ai'))|| '%'
在显示 NLSSORT
的输出时这不起作用的原因很明显:
SELECT NLSSORT('sravanth','nls_sort=binary_ai') FROM DUAL
UNION ALL
SELECT NLSSORT('sravan','nls_sort=binary_ai') FROM DUAL
NLSSORT('SRAVANTH','NLS_SORT=BINARY_AI')
73726176616E746800
73726176616E00
^^
请注意 NLSSORT
在字符串末尾添加一个额外的 NUL
字符。这在文档中没有指定——您可能不应该假设它的行为总是相同的。无论如何,如果你真的想那样使用 NLSSORT
,你将不得不手动处理额外的字节。以 为例。
为什么这个查询没有给出任何记录。请指导我
SELECT *
FROM DUAL
WHERE utl_raw.cast_to_varchar2(NLSSORT('sravanth','nls_sort=binary_ai'))
LIKE utl_raw.cast_to_varchar2(NLSSORT('sravan','nls_sort=binary_ai'))|| '%'
在显示 NLSSORT
的输出时这不起作用的原因很明显:
SELECT NLSSORT('sravanth','nls_sort=binary_ai') FROM DUAL
UNION ALL
SELECT NLSSORT('sravan','nls_sort=binary_ai') FROM DUAL
NLSSORT('SRAVANTH','NLS_SORT=BINARY_AI')
73726176616E746800
73726176616E00
^^
请注意 NLSSORT
在字符串末尾添加一个额外的 NUL
字符。这在文档中没有指定——您可能不应该假设它的行为总是相同的。无论如何,如果你真的想那样使用 NLSSORT
,你将不得不手动处理额外的字节。以 为例。