要怎麼在StringBuffer內sql case語法加入引號?StringBuffer sb = new StringBuffer("select case sex when 1 then '男生' when 0 then '女生' end");
如果把 '男生'改成1 ,'女生'改成0 這樣可以執行。
如果把 '男生'改成'boy' ,'女生'改成'girl'這樣不可以執行。
錯誤訊息:Cannot determine value type from string '男生'
『Cannot determine value type from string '男生'』
錯誤的問題是,您將『sex』欄位型態 int 要改成 string 型態
您是hibernater接?還是 spring 接?
您要在 SQL 執行時,處理掉?還是JAVA bean那邊程式處理掉?
SQL 沒有完整 無法幫您處理
『sql case語法加入引號?』沒有關係
DECLARE @TMP_EMP AS TABLE
(
EMP_NO VARCHAR(10),
SEX_1 INT,
SEX_CHAR CHAR(1)
);
INSERT INTO @TMP_EMP (EMP_NO,SEX_1,SEX_CHAR) VALUES ('01',1,'1');
INSERT INTO @TMP_EMP (EMP_NO,SEX_1,SEX_CHAR) VALUES ('02',0,'0');
INSERT INTO @TMP_EMP (EMP_NO,SEX_1,SEX_CHAR) VALUES ('03',0,'0');
INSERT INTO @TMP_EMP (EMP_NO,SEX_1,SEX_CHAR) VALUES ('04',1,'1');
INSERT INTO @TMP_EMP (EMP_NO,SEX_1,SEX_CHAR) VALUES ('05',0,'0');
select case SEX_1 when 1 then '男生' when 0 then '女生' end AS[結果_VARCHAR],
case SEX_CHAR when '1' then 1 when '0' then 2 end AS[結果_INT],
*
FROM @TMP_EMP
Cannot determine value type from string '男生'
代表宣告的變數型態與值的資料型態不合