SQL 쿼리의 If-Then 문이 잘못된 유형으로 변환을 시도하면 실패 함

도망 치는 교황

내부 조인을 통해 테이블 ​​1을 테이블 2에 연결하는 SQL 쿼리가 있으며이 부분은 문의 선택 부분에 포함됩니다.

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

관련 값이있을 때 table2Field2를 반환 할 수 있기를 원합니다. 즉, table2에 표시된 개체가 null이 아니므로 table2.field1에 -2 값이 없습니다. 이 경우 table2Field2의 값은 의미없는 값이 아닌 공백이어야합니다.

그러나 이것은 빈 텍스트 대신 0을 반환합니다. 이 줄을 변경하면 :

 WHEN -2 THEN ''

이에:

 WHEN -2 THEN 'someText'

그런 다음 int를 문자열로 변환하려고 시도하고 있다고 불평합니다. table2field1은 int이지만 table2Field2는 우리가 실제로 여기서 반환하는 문자열입니다.

이 쿼리에서 문자열 필드를 (a) 문자열이 아닌 문자열이 아닌 문자열로 반환하고 (b) 내가 지정한 것임을 어떻게 명시합니까? 돌아 오세요?

모든 제안을 환영합니다. 도움을 주셔서 미리 감사드립니다. :)

에릭 브란트

A의 CASE표현 가능한 리턴 값은 모두 동일한 데이터 형식이어야한다. 작성된대로 표현식은 하나의 문자열과 하나의 정수를 리턴하려고합니다.

당신은, 당신이 할 수있는 첫 번째 출력 빈 문자열하려는 경우 CAST또는 CONVERT문자 유형 값에 두 번째 출력 :

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

문자열 유형으로 변환 된 트리 맵 항목이 실패 함

분류에서Dev

집계 함수가있는 SQL 쿼리가 더 큰 쿼리를 실행할 때 잘못된 값을 반환하는 이유는 무엇입니까?

분류에서Dev

'GROUP'키워드 근처의 잘못된 구문 오류로 업데이트 쿼리가 실패하는 이유

분류에서Dev

잘못된 형식의 XML 출력이있는 JD Edwards 보고서에서 XSL 변환이 실패 함

분류에서Dev

OpenRowset을 포함하는 SQL 하위 쿼리-구문 오류- ')'근처의 잘못된 구문

분류에서Dev

SQL Server 쿼리 : 두 문자열을 연결하고 datetime으로 변환하면 형식이 변경되어 Datedifference가 잘못 계산 됨

분류에서Dev

stringreader의 입력을 int로 구문 분석하면 잘못된 구문으로 실패합니다.

분류에서Dev

Codeigniter의 쿼리 빌더는 올바른 SQL 문을 생성하지만 쿼리를 실행하면 잘못된 결과가 발생합니다.

분류에서Dev

ES 구문으로의 하위 절 변환이 포함 된 ElasticSearch lucene 쿼리

분류에서Dev

이 " '사이'키워드 근처의 잘못된 구문"을 사이를 사용하는 SQL Server 쿼리로 가져 오는 이유는 무엇입니까?

분류에서Dev

SQL : 중첩 된 하위 쿼리가 항목을 잘못 반환 함

분류에서Dev

Criteria API를 기반으로하는 일반 findAll 쿼리가 잘못된 SQL을 생성 함

분류에서Dev

C #에서 SSH.NET이있는 문자열의 "OPENSSH"개인 키 파일을 사용하면 "잘못된 개인 키 파일"과 함께 실패합니다.

분류에서Dev

함수 변형을 방문 할 때 "잘못된 변환"오류

분류에서Dev

잘못된 값을 커밋하는 SQL의 쿼리 업데이트

분류에서Dev

TFS 2018의 MSBuild 작업이 잘못된 .net SDK 경로로 실패 함

분류에서Dev

400 잘못된 요청으로 Jersey FormDataParam이 실패 함

분류에서Dev

연관된 유형 패밀리가 실패하고 독립형으로 만들어지면 작동 함

분류에서Dev

malloc이 잘못된 값을 반환하는 C의 하위 문자열 함수

분류에서Dev

MySQL을 SQL Server로 변환 한 후 올바른 함수에 잘못된 길이 매개 변수가 전달됨

분류에서Dev

해시 값을 SQL 쿼리에 적합한 데이터 유형으로 변환하는 방법

분류에서Dev

잘못된 형식의 목록을 파이썬에서 int 목록으로 변환하는 방법

분류에서Dev

Directory.CreateDirectory가 잘못된 문자로 실패 함

분류에서Dev

즉시 실행으로 디렉터리 개체를 만들려고 할 때 ORA-00900 잘못된 SQL 문이 표시되는 이유는 무엇입니까?

분류에서Dev

파이썬 (잘못된 형식의 문자열)을 사용하여 문자열을 사전으로 변환하는 방법

분류에서Dev

Cassandra 준비 명령문을 동시에 실행하면 결과로 잘못된 JSON이 반환됩니다.

분류에서Dev

PL / SQL 함수에서 테이블 반환-잘못된 데이터 유형

분류에서Dev

"잘못된 발신자 도메인"으로 인해 Logwatch 이메일이 실패 함

분류에서Dev

PUT의 쿼리 매개 변수가 잘못된 유형 인 경우 스프레이가 잘못된 이유 (405이지만 400이어야 함)로 내 요청을 거부합니다.

Related 관련 기사

  1. 1

    문자열 유형으로 변환 된 트리 맵 항목이 실패 함

  2. 2

    집계 함수가있는 SQL 쿼리가 더 큰 쿼리를 실행할 때 잘못된 값을 반환하는 이유는 무엇입니까?

  3. 3

    'GROUP'키워드 근처의 잘못된 구문 오류로 업데이트 쿼리가 실패하는 이유

  4. 4

    잘못된 형식의 XML 출력이있는 JD Edwards 보고서에서 XSL 변환이 실패 함

  5. 5

    OpenRowset을 포함하는 SQL 하위 쿼리-구문 오류- ')'근처의 잘못된 구문

  6. 6

    SQL Server 쿼리 : 두 문자열을 연결하고 datetime으로 변환하면 형식이 변경되어 Datedifference가 잘못 계산 됨

  7. 7

    stringreader의 입력을 int로 구문 분석하면 잘못된 구문으로 실패합니다.

  8. 8

    Codeigniter의 쿼리 빌더는 올바른 SQL 문을 생성하지만 쿼리를 실행하면 잘못된 결과가 발생합니다.

  9. 9

    ES 구문으로의 하위 절 변환이 포함 된 ElasticSearch lucene 쿼리

  10. 10

    이 " '사이'키워드 근처의 잘못된 구문"을 사이를 사용하는 SQL Server 쿼리로 가져 오는 이유는 무엇입니까?

  11. 11

    SQL : 중첩 된 하위 쿼리가 항목을 잘못 반환 함

  12. 12

    Criteria API를 기반으로하는 일반 findAll 쿼리가 잘못된 SQL을 생성 함

  13. 13

    C #에서 SSH.NET이있는 문자열의 "OPENSSH"개인 키 파일을 사용하면 "잘못된 개인 키 파일"과 함께 실패합니다.

  14. 14

    함수 변형을 방문 할 때 "잘못된 변환"오류

  15. 15

    잘못된 값을 커밋하는 SQL의 쿼리 업데이트

  16. 16

    TFS 2018의 MSBuild 작업이 잘못된 .net SDK 경로로 실패 함

  17. 17

    400 잘못된 요청으로 Jersey FormDataParam이 실패 함

  18. 18

    연관된 유형 패밀리가 실패하고 독립형으로 만들어지면 작동 함

  19. 19

    malloc이 잘못된 값을 반환하는 C의 하위 문자열 함수

  20. 20

    MySQL을 SQL Server로 변환 한 후 올바른 함수에 잘못된 길이 매개 변수가 전달됨

  21. 21

    해시 값을 SQL 쿼리에 적합한 데이터 유형으로 변환하는 방법

  22. 22

    잘못된 형식의 목록을 파이썬에서 int 목록으로 변환하는 방법

  23. 23

    Directory.CreateDirectory가 잘못된 문자로 실패 함

  24. 24

    즉시 실행으로 디렉터리 개체를 만들려고 할 때 ORA-00900 잘못된 SQL 문이 표시되는 이유는 무엇입니까?

  25. 25

    파이썬 (잘못된 형식의 문자열)을 사용하여 문자열을 사전으로 변환하는 방법

  26. 26

    Cassandra 준비 명령문을 동시에 실행하면 결과로 잘못된 JSON이 반환됩니다.

  27. 27

    PL / SQL 함수에서 테이블 반환-잘못된 데이터 유형

  28. 28

    "잘못된 발신자 도메인"으로 인해 Logwatch 이메일이 실패 함

  29. 29

    PUT의 쿼리 매개 변수가 잘못된 유형 인 경우 스프레이가 잘못된 이유 (405이지만 400이어야 함)로 내 요청을 거부합니다.

뜨겁다태그

보관