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

unsigned rightshift'>>>'SQLサーバーの演算子

    T-SQLにはビットシフト演算子がないため、自分で実装する必要があります。ここにビット単位のシフトの実装があります: http ://dataeducation.com/bitmask-handling-part-4-left-shift-and-right-shift/

    整数をvarbinaryにキャストし、ビット単位のシフト関数を使用して整数にキャストバックし、(うまくいけば)ちょっとプレストする必要があります!あなたが期待しているあなたの結果があります。

    実装とテストは、読者の演習として残されています...

    編集-以下のコメントに何を入れたかを明確にするために、このSQLを実行すると、さまざまなCASTによって得られるさまざまな結果が示されます。

    SELECT -5381 AS Signed_Integer,
            cast(-5381 AS varbinary) AS Binary_Representation_of_Signed_Integer,
            cast(cast(-5381 AS bigint) AS varbinary) AS Binary_Representation_of_Signed_Big_Integer, 
            cast(cast(-5381 AS varbinary) AS bigint) AS Signed_Integer_Transposed_onto_Big_Integer, 
            cast(cast(cast(-5381 AS varbinary) AS bigint) AS varbinary) AS Binary_Representation_of_Signed_Integer_Trasposed_onto_Big_Integer
    

    結果:

    Signed_Integer Binary_Representation_of_Signed_Integer                        Binary_Representation_of_Signed_Big_Integer                    Signed_Integer_Transposed_onto_Big_Integer Binary_Representation_of_Signed_Integer_Trasposed_onto_Big_Integer
    -------------- -------------------------------------------------------------- -------------------------------------------------------------- ------------------------------------------ ------------------------------------------------------------------
    -5381          0xFFFFEAFB                                                     0xFFFFFFFFFFFFEAFB                                             4294961915                                 0x00000000FFFFEAFB
    


    1. 接続文字列が有効であることを確認する方法は?

    2. ユーザーがテキストボックスに何も入力しない場合、テーブルは空のスペースを更新します

    3. パラメータをバインドする場合、mysql_real_escape_stringを使用する必要がありますか?

    4. サブクエリの結果でLIMITを使用することは可能ですか?