0

他の場所からエクスポートされた 50,000 行以上の Excel xlsx ファイルを使用する。msquery で null を処理しようとして、想像できるすべての組み合わせで CASE ステートメントを試しました (問題は構文ではなかったと確信しています)。これらは非常に単純なステートメントです。

寸法測定値を連結して、ラベルの文字列を表示しています。例えば...

'H: '+xtract.Height+' x  W:'+xtract.Width AS [Dimensions]

null は、私が試したすべてのタイプの CASE ステートメントで失敗を引き起こし、機能しませんでした。

私が驚いたのは、Excel の数式で使用できる「+」ではなく「&」を連結子として使用し、空の文字列を先頭に追加して、CSTR 関数をここで機能させることができることでした。

'H: '+CStr(''&xtract.Height+' x  W:'+CStr(''&xtract.Width ) AS [Dimensions]  

これがすべて従来の SQl 構文である場合は、かなり簡単ですが、MSQUERY にはこの方法で問題を解決できる独特の構文があるようです。

これはまれなタスクなので、パフォーマンスはあまり気にしません。これは機能します。

そのため、先に進むことと、これが機能するときに正しい構文を得ることができない CASE ステートメントを主張することに時間を費やすことの間で引き裂かれています。

私が見逃しているこのアプローチには他に問題がありますか?

4

1 に答える 1

0

ISNULL 関数を使用してみてください。

お気に入りH: '+ISNULL(xtract.Height,'')+' x W:'+ISNULL(xtract.Width,'') AS [Dimensions]

于 2013-05-28T20:34:07.233 に答える