のヌルIDに対して '不明'を表示しますか?以下の構文を試してみましたが、エラー数値フィールドがNullの場合、文字列値を表示する方法は、
'エラー数値にデータ型varchar型に変換する' 取得:
構文:
select
case
when bill_area_id IS null then 'Unknown'
else bill_area_id end from Table_name
のヌルIDに対して '不明'を表示しますか?以下の構文を試してみましたが、エラー数値フィールドがNullの場合、文字列値を表示する方法は、
'エラー数値にデータ型varchar型に変換する' 取得:
構文:
select
case
when bill_area_id IS null then 'Unknown'
else bill_area_id end from Table_name
使用3210最初の非null値を返すために:
をselect coalesce(bill_area_id, 'Unknown') from Table_name
互換性のあるデータ型が必要です。私。あなたがしなければならないことがあります。あなたはsql server
を使用している場合
select coalesce(cast(bill_area_id as varchar(15)), 'Unknown') from Table_name
、あなたもこれを使用することができます:
select isnull(cast(bill_area_id as varchar(15)), 'Unknown') from Table_name
dbmsが指定されていない質問に対する製品固有の回答。少なくとも、これがどのdbmsであるかを教えてください。 – jarlh
さて、彼が試したことはすでにMySQLのために働いていると思います。 'Oracle'についてはわかりませんが、提供されたエラーメッセージを見ると、これはms sqlサーバーの問題だと思います。とにかくそれを答えで指定する方が良いです、それをキャッチするためにありがとう。 –
あなたが同じ列に数値出力とvarchar型を混合しているため、エラーがあります。たとえばSQL Serverの場合:私はvarchar型としてbill_area_idキャスト、または「不明」を選択していますので、
select
case
when bill_area_id IS null then 'Unknown'
else CAST(bill_area_id as varchar) end from Table_name
は(varchar型も)出力が均一にvarchar型であることを保証します。
COALESCE/isnullを使用しても有効ですが、これらの関数はNULL値の代替を提供するため、ここでは他の回答があります。
'select coalesce(bill_area_id、 'Unkown')from tablename'は、同じデータ型が必要であることに注意してください。 – jarlh
これらのタイプの決定は通常_display_レイヤーで行われます。つまり、_data_レイヤーではなくWebページ、app、レポートなどを意味します。 –
DBMSに依存しないので、これは[SQL ServerでNULL値を '不明'として表示]の複製です(https://stackoverflow.com/questions/35092603/displaying-null-values-as-unknown -is-sql-server)、あるいはおそらく他の多くの質問が同じ効果を求めています。 –