2011-01-31 6 views
0

私は2つのDataColumnsの(DATE_START、date_sent)が含まれており、私は、このように並べ替えを適用する1つの列(DATE_ORDER)にマージしたいデータテーブルを持っているのマージDATE_STARTがnullの場合は常に、date_sentではないので、またその逆に、私がしたDataColumnに次の式を試してみました:は、DateTime型の2 DataColumnsの

dt.Columns.Add("date_order", typeof(String), "IIF(date_start=NULL,date_sent,date_start)"); 

が、そのような何かworking.Triedない "ISNULL(DATE_START、date_sent)を、DATE_START" と「DATE_START + date_sent "でも動作しませんでした。

誰かが使用する式を教えてください。ありがとうございました。

答えて

1

あなたが最初の非null引数を返すSQL COALESCEキーワード、例えばを使用する必要があります。

SELECT COALESCE(date_order, date_sent) ... 

あなたがいる場合DATE_ORDERとdate_sent

+0

FYI、C#には同様の演算子がありますか?例えばvar aorb = a ?? b; – ozziepeeps

+0

完璧、ありがとう。 COALESCEが認識されていないので、式だけを使ってどうやってそれを行うのかはまだ不思議です – francis

0

のうち、最初の非ヌルを返します。 C#でそれをやっている... ??は、あなたが探しているはずのNull Coalescing演算子です...基本的にはtsqlのisnullに相当します。

関連する問題