エラーのない列名構文は[My Column]
、代わりにMy Column
エラーを引き起こします。
エラーのない文字列値の構文は'25,00'
、代わりに25,00
エラーを引き起こします。
列のデータ型が数値の場合、値を囲むために一重引用符を使用するとエラーが発生します。文字列または数値データ型の値を安全に囲む他の方法はありますか?
エラーのない列名構文は[My Column]
、代わりにMy Column
エラーを引き起こします。
エラーのない文字列値の構文は'25,00'
、代わりに25,00
エラーを引き起こします。
列のデータ型が数値の場合、値を囲むために一重引用符を使用するとエラーが発生します。文字列または数値データ型の値を安全に囲む他の方法はありますか?
数値には、エンクロージャーやコンマは含まれていません。
文字列の場合、設定に応じて、特定のDBでは一重引用符または二重引用符になります。
SQL Serverでは、キャスト/変換関数は地域に対応しています。したがって、クエリでConvertを使用し、数値を引用符で囲まれた文字列として渡して、必要な10進型に変換します。例えば:
SELECT CONVERT(decimal(5,2),'1234,56')
文字列「25,00」は有効な10進数ではないため、引用符を使用するとエラーが発生する可能性があります。RDBMSのドキュメントをチェックして、文字列が暗黙的に数値タイプに変換される方法を確認してください。
引用符がないと、場所に関係なく、25,00も無効になると思います。SQL標準では、小数点記号としてコンマを使用してリテラル数を指定することは許可されていません。
のような列名My Column
は、その中のスペースのためにエラーを引き起こします。[My Column]
あいまいさを取り除きます。
などの値'25,00'
は、引用符で文字列になるため25,00
有効ですが、コンマのために(少なくとも世界の一部では)有効な数値ではありません。
数字として挿入する場合、DBはそれを2つの25,00
数字とどのように区別できますか?