0
ファイル名があり、SQL Serverのテーブルに挿入する必要があります。私は知っている、私は一重引用符を挿入して挿入することができますが、このファイル名はちょっと難しいです。 ご協力いただければ幸いです。一重引用符を含む文字列の一重引用符をエスケープする
@filename:
'013095','013096','013213','013214','013815','013871','013872','13873','013874','013875','013876','013879','13877','13878' 2015-01-24.xls'
私は、これは、クライアントが提供する非常に悪いファイル名ですけど、私はそれを戻すことができます前に、それを試してみることにしたかったです。
私はこれを達成するために2つのものの下に試してみました:
はエスケープすることにより、単一引用符を交換したり、二重にするReplace関数を使用してください。
set @FilenameFinal = Replace(@FileName,char(39), '''')
私の究極の目標は、ファイル名の上に認識し、挿入しないストアドプロシージャからこの関数を呼び出すためにこの関数を正しく取得することです。
Set @index = 1
Set @FilenameFinal = ''
set @len = LEN(@FileName)
while @index <= @len
begin
set @char = Substring(@FileName,@index,1)
If (@char = char(39))
begin
set @char = Replace(@char, char(39),'''')
--set @filename = Replace(@filename,Char(39),'''')
end
--set @FileName = @char + Substring(`enter code here, @index,1)
set @FilenameFinal = @FileNameFinal + @char
set @index = @index + 1
end
return @FilenameFinal
使用しているRDBMSにタグを付けてください – TheGameiswar