使用格式字符串从输入字符串中抽取子字符串。
语法
xp_scanf(
,
[ , [, ... ] ]
)
CHAR(254) 参数指定输入字符串。
CHAR(254) 参数指定输入字符串的格式,为每个 参数使用占位符 (%s)。CHAR(254) 参数中的一个或多个来存储从 您必须具有系统过程的 EXECUTE 特权。
xp_scanf 系统过程使用指定的 format 从输入字符串中抽取子字符串,并将结果放在指定的参数值中。
仅支持 %s 字符串格式。不支持 %d 和 %f 等其它格式指示符,如果在扫描输入字符串的过程中遇到这些字符,扫描将会停止。
以下语句从输入缓冲区 Hello World! 中抽取子字符串 Hello 和 World!,并将它们分别放在变量 string1 和 string2 中,然后再选择它们:
CREATE VARIABLE string1 CHAR( 254 );
CREATE VARIABLE string2 CHAR( 254 );
CALL dbo.xp_scanf( 'Hello World!', '%s %s', string1, string2 );
SELECT string1, string2;
下列语句介绍如何选取日期字符串及如何将其分为年、月、日三个部分:
CREATE VARIABLE ymd LONG VARCHAR;
CREATE VARIABLE year CHAR( 254 );
CREATE VARIABLE month CHAR( 254 );
CREATE VARIABLE day CHAR( 254 );
SET ymd = '2014/11/23';
SET ymd = REPLACE(ymd, '/', ' ');
CALL dbo.xp_scanf( ymd, '%s %s %s', year, month, day );
SELECT ymd, year, month, day;