SQLクエリのIf-Thenステートメントが間違ったタイプに変換しようと主張し、その後失敗する

実行中の教皇

SQLクエリがあり、内部結合を介してテーブル1をテーブル2にリンクし、ステートメントのselect部分にこの部分が含まれています。

select
table1.field1,
table2.field1,
CASE (table2.field1)
     WHEN -2 THEN ''
     ELSE table2.field2
END as table2Field2,
table3.field4
from...

関連する値がある場合、つまりtable2で表されるオブジェクトがnullでない場合、つまりtable2.field1の値が-2にならない場合に、table2Field2を返すことができるようにしたい。この場合、table2Field2の値は、意味のない値ではなく、空白にする必要があります。

ただし、これは空白テキストの代わりに0を返します。この行を変更した場合:

 WHEN -2 THEN ''

これに:

 WHEN -2 THEN 'someText'

次に、intを文字列に変換しようとしていると文句を言いますが、私はそうではありません。table2field1はintですが、table2Field2は文字列であり、実際にここで返します。

このクエリで、文字列フィールドを文字列として返し、(a)文字列ではなく、(b)指定したもの以外の文字列として返していないことを(さらに具体的に)述べるにはどうすればよいですか?戻ってきますか?

すべての提案を歓迎します、助けてくれてありがとう:)

エリックブラント

CASE表現、可能な戻り値はすべて同じデータ型でなければなりません。記述されているように、式は1つの文字列と1つの整数を返そうとしています。

最初の出力に空の文字列がCAST必要な場合はCONVERT、2番目の出力を文字タイプの値にすることができます。

select
table1.field1,
table2.field1,
CASE (table2.field1)
     WHEN -2 THEN ''
     ELSE CAST(table2.field2 AS varchar(12)) --< 12 will cover any value of integer.
END as table2Field2,
table3.field4
from...

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Selectステートメントのネストを回避しようとしていますが、「varchar値をデータ型intに変換するときに変換に失敗しました」というエラーが発生します。

分類Dev

JavaMailSenderが間違ったメールパスワードでアプリケーションコンテキストの読み込みに失敗しないようにするにはどうすればよいですか?

分類Dev

デプロイメントスクリプトが変更されていないテーブルを削除して再作成しようとするため、データベースプロジェクトの公開が失敗します

分類Dev

新しいADフォレストとドメインの作成中に再起動した後、DSC拡張機能を備えたARMテンプレートがセキュリティエラーで失敗する

分類Dev

テンプレートクラスタイプエイリアスがメンバー宣言での置換に失敗しました

分類Dev

ターミナルからインストールしようとすると、常に「オペレーティングシステムがpackagecloud.ioでサポートされていないか、このスクリプトのOS検出に失敗しました」というエラーが表示されます。

分類Dev

次のコードでベクトルの代わりにリストを使用すると、イテレータ間で減算を実行しようとした行でコンパイルが失敗するのはなぜですか?

分類Dev

CASEステートメントの「nvarchar値をデータ型intに変換するときに変換に失敗しました」

分類Dev

テンプレート引数としてのメンバー関数ポインターが継承されたメンバー関数で失敗しました、どのようにそしてなぜですか?

分類Dev

列タイプのSQL条件でINTを使用するときにSQLステートメントが失敗し、数値タイプの列が条件として追加されたときにエラーなしで実行される理由

分類Dev

Typescriptに段階的に変換しようとすると、Typescript以外のインポートが失敗する

分類Dev

CakePHPの簡単な認証チュートリアルに従った後にログインしようとすると、認証が失敗します

分類Dev

基本クラスを隠すためにダミーパラメータを持つテンプレートエイリアスを使用してそれらを混乱させようとしたときのclangとgccの動作の違い

分類Dev

「gemネイティブ拡張機能の構築に失敗しました」というメッセージが表示されます。mysql2(OSX)をインストールしようとしているとき

分類Dev

「gemネイティブ拡張機能の構築に失敗しました」というメッセージが表示されます。mysql2(OSX)をインストールしようとしているとき

分類Dev

[]バイトをos.Fileに変換したり、その逆をメモリ内で行ったり、ファイルをos.Fileとしてデータベースとの間でエクスポート/インポートしたりすることはできますか?

分類Dev

リストパラメータを使用した生のSQLクエリが失敗する

分類Dev

Androidアプリのsqliteプリペアドステートメントにパラメーターを追加しようとして失敗する

分類Dev

このステートメントをSQLクエリに変換します

分類Dev

LinuxとWindowsをデュアルブートにインストールしようとした後、Dellラップトップの起動に失敗する

分類Dev

C#でSQL行をインクリメントしようとするとクエリが失敗する

分類Dev

バージョン2.0にアップグレードした後、ドットネットテストタスクが「MSB1008:1つのプロジェクトのみを指定できます」というエラーで失敗する

分類Dev

Javaで作成しているJavaクライアントライブラリのSSLエラーが発生します。ドキュメントに従った後もリクエストは失敗します

分類Dev

スプリング法のMockitoテストは、応答の結果が間違っているために失敗します

分類Dev

DynamoDbの更新がエラー「更新式がセカンダリインデックスキーをサポートされていないタイプに更新しようとしました」で失敗する

分類Dev

ポインタとintのテンプレートによるメモリリーク。私は何が間違っているのですか?

分類Dev

同じタイプの別のエンティティがすでに同じ主キー値を持っているために失敗しました

分類Dev

コンテンツスクリプトがChrome拡張機能に読み込まれる前に、スタイルが間違ったコンテンツのフラッシュを回避するにはどうすればよいですか?

分類Dev

Ionos / 1&1ホスティングの本番環境にデプロイする場合にのみ、APIをリクエストしようとしたときに接続が失敗しました

Related 関連記事

  1. 1

    Selectステートメントのネストを回避しようとしていますが、「varchar値をデータ型intに変換するときに変換に失敗しました」というエラーが発生します。

  2. 2

    JavaMailSenderが間違ったメールパスワードでアプリケーションコンテキストの読み込みに失敗しないようにするにはどうすればよいですか?

  3. 3

    デプロイメントスクリプトが変更されていないテーブルを削除して再作成しようとするため、データベースプロジェクトの公開が失敗します

  4. 4

    新しいADフォレストとドメインの作成中に再起動した後、DSC拡張機能を備えたARMテンプレートがセキュリティエラーで失敗する

  5. 5

    テンプレートクラスタイプエイリアスがメンバー宣言での置換に失敗しました

  6. 6

    ターミナルからインストールしようとすると、常に「オペレーティングシステムがpackagecloud.ioでサポートされていないか、このスクリプトのOS検出に失敗しました」というエラーが表示されます。

  7. 7

    次のコードでベクトルの代わりにリストを使用すると、イテレータ間で減算を実行しようとした行でコンパイルが失敗するのはなぜですか?

  8. 8

    CASEステートメントの「nvarchar値をデータ型intに変換するときに変換に失敗しました」

  9. 9

    テンプレート引数としてのメンバー関数ポインターが継承されたメンバー関数で失敗しました、どのようにそしてなぜですか?

  10. 10

    列タイプのSQL条件でINTを使用するときにSQLステートメントが失敗し、数値タイプの列が条件として追加されたときにエラーなしで実行される理由

  11. 11

    Typescriptに段階的に変換しようとすると、Typescript以外のインポートが失敗する

  12. 12

    CakePHPの簡単な認証チュートリアルに従った後にログインしようとすると、認証が失敗します

  13. 13

    基本クラスを隠すためにダミーパラメータを持つテンプレートエイリアスを使用してそれらを混乱させようとしたときのclangとgccの動作の違い

  14. 14

    「gemネイティブ拡張機能の構築に失敗しました」というメッセージが表示されます。mysql2(OSX)をインストールしようとしているとき

  15. 15

    「gemネイティブ拡張機能の構築に失敗しました」というメッセージが表示されます。mysql2(OSX)をインストールしようとしているとき

  16. 16

    []バイトをos.Fileに変換したり、その逆をメモリ内で行ったり、ファイルをos.Fileとしてデータベースとの間でエクスポート/インポートしたりすることはできますか?

  17. 17

    リストパラメータを使用した生のSQLクエリが失敗する

  18. 18

    Androidアプリのsqliteプリペアドステートメントにパラメーターを追加しようとして失敗する

  19. 19

    このステートメントをSQLクエリに変換します

  20. 20

    LinuxとWindowsをデュアルブートにインストールしようとした後、Dellラップトップの起動に失敗する

  21. 21

    C#でSQL行をインクリメントしようとするとクエリが失敗する

  22. 22

    バージョン2.0にアップグレードした後、ドットネットテストタスクが「MSB1008:1つのプロジェクトのみを指定できます」というエラーで失敗する

  23. 23

    Javaで作成しているJavaクライアントライブラリのSSLエラーが発生します。ドキュメントに従った後もリクエストは失敗します

  24. 24

    スプリング法のMockitoテストは、応答の結果が間違っているために失敗します

  25. 25

    DynamoDbの更新がエラー「更新式がセカンダリインデックスキーをサポートされていないタイプに更新しようとしました」で失敗する

  26. 26

    ポインタとintのテンプレートによるメモリリーク。私は何が間違っているのですか?

  27. 27

    同じタイプの別のエンティティがすでに同じ主キー値を持っているために失敗しました

  28. 28

    コンテンツスクリプトがChrome拡張機能に読み込まれる前に、スタイルが間違ったコンテンツのフラッシュを回避するにはどうすればよいですか?

  29. 29

    Ionos / 1&1ホスティングの本番環境にデプロイする場合にのみ、APIをリクエストしようとしたときに接続が失敗しました

ホットタグ

アーカイブ