sql >> データベース >  >> RDS >> Sqlserver

ORACLEINSTRと同等のSQLServer

    あなたはそのnth_appearanceにスポットを当てていました SQLServerには存在しません。

    関数を恥知らずにコピーする(SQLServerの4つのパラメータを持つOracleのINSTRに相当 )問題のために作成されました(@OccursはOracleと同じように使用されないことに注意してください。「3回目の出現」は指定できませんが、「3回発生する」):

    CREATE FUNCTION udf_Instr
        (@str1 varchar(8000), @str2 varchar(1000), @start int, @Occurs int)
    RETURNS int
    AS
    BEGIN
        DECLARE @Found int, @LastPosition int
        SET @Found = 0
        SET @LastPosition = @start - 1
    
        WHILE (@Found < @Occurs)
        BEGIN
            IF (CHARINDEX(@str1, @str2, @LastPosition + 1) = 0)
                BREAK
              ELSE
                BEGIN
                    SET @LastPosition = CHARINDEX(@str1, @str2, @LastPosition + 1)
                    SET @Found = @Found + 1
                END
        END
    
        RETURN @LastPosition
    END
    GO
    
    SELECT dbo.udf_Instr('x','axbxcxdx',1,4)
    GO
    
    
    DROP FUNCTION udf_Instr
    GO
    


    1. MySQLiでfetch_arrayを使用しながらデータ型を検出する

    2. リモートサーバーのmysqlデータベースをローカルホストに接続する

    3. ドロップダウンリストからアイテムが選択されたときにフォームフィールドに自動入力するPHP\HTMLスクリプト

    4. MySQLi count(*)は常に1を返します