Home > 開発者ブログ > intra-mart > 【SQLServer】シングルクォートとアポストロフィーとエスケープ

【SQLServer】シングルクォートとアポストロフィーとエスケープ

 

mわたくし生粋の日本人だもので、まったく思い至らなかったのですが、
画面からの文字入力時に「’(アポストロフィー)」が入っているとSQLエラーになるんですよね。

 

英語の入力もあり得るフィールドでやらかしてしまいました。

 

	UPDATE xxx SET text = 'I can't Fly'

 

上記の場合は「t Fly’」ってなんですかってSQLServerに返されます。

 

	メッセージ 102、レベル 15、状態 1、行 1
	't' 付近に不適切な構文があります。
	メッセージ 105、レベル 15、状態 1、行 1
	文字列 '' の後で引用符が閉じていません。

 

エスケープをすれば済む話なのですが、
そこはそれエスケープひとつとっても一筋縄ではいかないのがSQLServerです。

 

大抵エスケープといえば「\」を使用するかと思うのですが、
ここでは「’(シングルクォート)」を使用します。
※アポストロフィーともいいます。使う文字は同じです。

 

つまり、

 

	UPDATE xxx SET title = 'I can''t Fly'

 

これで解決です。やったね!

 

英語の場合は本文中にナチュラルに記号が入ってくることも頭の片隅に入れておこう…。
アルファベット26文字と数字10文字だけかと思っていたら大間違いでした恥ずかしい。

2014年03月05日(水)

テレマーケティングシステムsakuraトライアル

コールセンターシステム sakuraCTI

資料請求

お問合わせ

コラム

用語集

開発者ブログ

イントラマート

Sakuraテレマーケティングシステム

 

 

営業リスト

インフラソリューションのご案内

導入事例

テレアポノウハウ本プレゼントキャンペーン

認証マーク

アースリンクは
プライバシーマークを
取得しています。

プライバシーポリシー


SSLとは?

当サイトでは、実在性の証明とプライバシー 保護のためSSLサーバ証明書を使用しSSL 暗号化通信を実現しています。

このページの先頭へ