2017-05-16 7 views
0

私はvarchar型の列を持つテーブルを持っています。オブジェクトをjsonにシリアル化して列に保存しようとしています。モジュロを含む文字列データを列に保存できません

シリアライズされたJSONオブジェクト:

{ 
    "query":"select * from tablename where timestamp like concat(nvarchar,convert(date,getdate()),120,'%')" 
} 

私はそれがエラーの下に与えvarchar列で上記のデータを保存しています。

「データ型varchar型とvarchar型は、モジュロ演算子に互換性がありません」

任意の助けいただければ幸いです。

+2

あなたは「ここで 『』「% 『『と』' '\」 –

+1

変更』%を使用して引用符をエスケープする必要があり、二重の単一引用符 『』ノート二重引用符です。 –

+0

@BhubanShresthaエラー "文字列またはバイナリデータが切り捨てられます。" – Shahzad

答えて

1

%シンボルのエスケープ文字を使用してください。あなたの文字列には ''% ''でなければなりません。

{"query":"select * from tablename where timestamp like concat(nvarchar,convert(date,getdate()),120,''%'')"}. 

をあなたは、このようQUOTENAME()機能を使用し、パラメータとしてシリアル化されたJSONオブジェクトを渡している場合は、次の完全な文字列は、次のようにする必要があります。

QUOTENAME(@parameterforserializedjsonobject, '''') 
関連する問題