sql >> データベース >  >> Database Tools >> SSMS

SQL Server ISNUMERIC()の説明

    CAST()を使用する必要があります またはTRY_CAST() 代わりに:

    declare @test nvarchar(8) = '12345678'
    select cast(@test as bigint) -- errors on failure
    select try_cast(@test as bigint) -- returns null on failure
    

    また、ISNUMERIC()を指摘することも重要です 完璧ではありません。 docs から :

    ISNUMERICは、プラス(+)、マイナス(-)などの数値ではない一部の文字、およびドル記号($)などの有効な通貨記号に対して1を返します。通貨記号の完全なリストについては、money and smallmoney(Transact-SQL)を参照してください。

    このため、ここでは論理チェックは価値がないと思います。 TRY_CAST()を使用するのが最適です 文字の存在に関係なく、すべての値で、予測可能な方法でnull応答を処理します。



    1. phpではクエリが非常に遅い(> 30秒)が、phpmyadminでクエリを実行すると速い

    2. .sqlファイルをmysqldbのテーブルに変換する方法

    3. 古い価格の最後のチャンス

    4. XAMPPおよびphpMyAdminを介してMySQLにアクセスできません