Firebird和SQL Server上有数据库。我在Firebird中有工作存储过程。
问题是:如何将其翻译为T-SQL语法?
begin
IF ((:PHONE_N is NULL) or (STRLEN(:PHONE_N)<1)) THEN
BEGIN
O_PHONE_N = NULL;
EXIT;
END
IF (STRLEN(PHONE_N) > 3) THEN
BEGIN
O_PHONE_N = '(' || SUBSTR(:PHONE_N, 1, 3) || ') ';
PHONE_N = SUBSTR(:PHONE_N, 4, STRLEN(:PHONE_N));
IF (STRLEN(:PHONE_N)> 3) THEN
begin
O_PHONE_N = O_PHONE_N || SUBSTR(:PHONE_N, 1, 3);
PHONE_N = SUBSTR(:PHONE_N, 4, STRLEN(:PHONE_N));
IF (STRLEN(:PHONE_NUMBER)> 0) THEN
O_PHONE_N = O_PHONE_N || '-' ||:PHONE_N;
END
ELSE
O_PHONE_N = :O_PHONE_N || :PHONE_N;
END
ELSE
O_PHONE_N = :PHONE_N;
end
答案 0 :(得分:2)
此链接可能有所帮助:http://www.firebirdsql.org/manual/migration-mssql-syntax.html
这可能会有所帮助:
@
标记T-SQL变量(例如@phone_n
)STRLEN
在T-SQL中被称为LEN()
SUBSTR
是SUBSTRING
Check out the excellent MSDN documentation on T-SQL了解有关T-SQL语法的更多详细信息