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

nvarchar で between 句を使用するには?

    負の数がないと仮定すると、 between 句の nvarchar を Int にキャストし、以下のようにキャストできない場合のデフォルトを設定する必要があります:

     SELECT *
      From Vendor_Value_Table
    WHERE (Vendor_Value_Table.Feature_ID in (17,19)) 
    AND(
    value_text like 'Dhol Wala$Shahnai Wala' 
    OR 
     (SELECT CASE WHEN ISNUMERIC(value_text) = 1 THEN CAST(value_text AS INT) ELSE -1 END) between 0 and 100
     )
    

    -1 をデフォルトとして選択しました。これは、キャストできない場合に between 句を常に false にする必要があるためです。

    (INT 範囲未満の数値に対してのみ応答します)




    1. sqldeveloperはcount(*)の正しい結果を出力しますが、sqlplusの結果はゼロです。

    2. Count(*)が正しく機能しない

    3. Pythonを使用してBibTexファイルをデータベースエントリに変換する

    4. MySQLの親->子クエリ