2012-06-07 37 views
1

Firebird和SQL Server上有数据库。我有Firebird中的存储过程。将存储过程从Firebird移动到SQL Server

问题是:如何将它转换为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

我有一些麻烦与翻译此过程为T-SQL。这是行不通的......根据语法可能有一些表格? – user1441614

回答