1

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
4

1 に答える 1

2

このリンクは少し役立つかもしれません:http ://www.firebirdsql.org/manual/migration-mssql-syntax.html

これは少し役立つかもしれません:

  • 先頭@はT-SQL変数をマークします(例@phone_n
  • STRLENLEN()T-SQLで呼び出されます
  • SUBSTRSUBSTRING

T-SQL構文の詳細については、T- SQLに関する優れたMSDNドキュメントを確認してください。

于 2012-06-07T08:54:47.967 に答える