2017-07-11 12 views
0

誰も私になぜこの(行3)が機能していないのか教えていただけますか?10進数に変換されません。

create table myTable (myDecimal decimal); 

select convert('', decimal(5,2)) as myValue; 

insert into myTable (myDecimal) select convert('', decimal(5,2)) as myValue; 

ありがとうございます。

+0

10進数の列を作成するときに精度を指定しないと、MySQLについて100%確信はありませんが、MS SQLでは小数点以下は0です。 –

+0

エラーメッセージとは何ですか?あなたのサーバーのバージョンは? – Alexander

+1

[10進(整数)値が正しくない: '' mySQL](https://stackoverflow.com/questions/35037288/incorrect-decimal-integer-value-mysql)の重複の可能性あり – Alexander

答えて

0
create table myTable (myDecimal decimal); 

select convert('', decimal(5,2)) as myValue; 


SET SESSION SQL_MODE = ''; 
INSERT INTO MYTABLE (MYDECIMAL) SELECT CONVERT('', DECIMAL(5,2)) AS MYVALUE; 

これは、厳密なSQL_MODEモードによるものです。

クエリの上に試してみてください。このSTRICT_SQL_MODE

で確認することができます。

希望すると、これが役立ちます。

+0

Thanks Sagar。あなたの声明は私のためには機能しませんが、INSERTはMYTABLE(MYDECIMAL)に変わります。SELECT CONVERT( ''、DECIMAL(5,2))MY VALUE;トリックをする!たぶん、私はまだ元が動作しない理由は混乱している?私は最初に10進数に変換するので、空の文字列を挿入しません。 – RURIA

関連する問題