3

確認するにはどうすればよいvalue IS NOT NULL AND TRIM(value) != '' AND value != 0ですか?

チェックする'string' != 0と常にfalseが返されるため、機能しません。

クエリする列のタイプを知らないジェネリッククエリ用です。

私は次のようなことをする必要があります(value IS NUMERIC TYPE AND value != 0)

value文字列、日付、時刻、blob、数値などです。

4

3 に答える 3

2

おそらくCAST(value AS int) <> 0

于 2012-10-31T04:28:47.270 に答える
0

列タイプの知識がなくても、正規表現を使用して、文字列または番号の列データに基づいて続行するかどうかを決定できます。

value IS NOT NULL AND 
IF(value REGEXP '^-?[0-9]+(\.[0-9]+)?$', value <> 0, TRIM(value) <> '')

正規表現の結果に応じて、と比較するか、と比較し0ます''

含む警告文字列'0'は空と見なされますが、MySQL Webサイトをトロールした後、適切な回避策を見つけることができませんでした。

于 2012-10-31T10:19:21.990 に答える
0

レコードセットを使用して SQL データの移行を行うときに、以前にこのようなことをしたことがあります。

if trim(fields(0).value & "") > "" then '値がある

したがって、null の場合は空の文字列になり、null でない場合はトリミングされた文字列になります。最も効率的な方法...おそらくそうではありませんが、機能します。

于 2012-10-31T10:38:45.133 に答える