sqlserver replace関数一括置換データベースで指定したフィールド内の指定文字列参照方法
2032 ワード
SQL Serverにはreplace関数があり、直接使用できます.Accessデータベースのreplace関数はAccess環境でしか使えない、Jet SQLでは使えないので、ASPには役に立たない、ASPでこの関数を呼び出すとエラーが出る.
構文REPLACE('string_e)xpression1' , 'string_expression2' , 'string_expression 3')パラメータの説明'string_expression 1'検索する文字列式.string_expression 1は、文字データまたはバイナリデータであってもよい. 'string_expression 2'検索する文字列式.string_expression 2は、文字データまたはバイナリデータであってもよい. 'string_expression 3'置換用の文字列式.string_expression 3は、文字データまたはバイナリデータであってもよい.一般的には、フォーマットは、Updateテーブル名SETで置換する列=REPLACE(置換する列、置換される文字、置換された文字)サンプルSQL文:Update tableName SET columeName=REPLACE(columeName,'a','b')しかし、SQL Serverにはreplace関数があり、直接使用できることに注意してください.Accessデータベースのreplace関数はAccess環境でのみ使用でき、Jet SQLでは使用できないため、ASPでは使用できません.ASPでこの関数を呼び出すと、式の「REPLACE」関数が定義されていないというエラーが表示されます.Aspでは、この機能を実現するための関数を書くことができます.サンプル関数:
ASP+access一括置換指定文字参照コード:
なお、SQLの関数replaceのパラメータ1のデータ型ntextは無効です.長いこと探して解決策を見つけた.
ntextは次の文で解決するために変換する必要があります.
構文REPLACE('string_e)xpression1' , 'string_expression2' , 'string_expression 3')パラメータの説明'string_expression 1'検索する文字列式.string_expression 1は、文字データまたはバイナリデータであってもよい. 'string_expression 2'検索する文字列式.string_expression 2は、文字データまたはバイナリデータであってもよい. 'string_expression 3'置換用の文字列式.string_expression 3は、文字データまたはバイナリデータであってもよい.一般的には、フォーマットは、Updateテーブル名SETで置換する列=REPLACE(置換する列、置換される文字、置換された文字)サンプルSQL文:Update tableName SET columeName=REPLACE(columeName,'a','b')しかし、SQL Serverにはreplace関数があり、直接使用できることに注意してください.Accessデータベースのreplace関数はAccess環境でのみ使用でき、Jet SQLでは使用できないため、ASPでは使用できません.ASPでこの関数を呼び出すと、式の「REPLACE」関数が定義されていないというエラーが表示されます.Aspでは、この機能を実現するための関数を書くことができます.サンプル関数:
function replace(title)
{
replace(title,'aaa','bbbb')
return(title)
}
bbb=replace(title)
update ..... set title='"&bbb&"'
ASP+access一括置換指定文字参照コード:
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(" .mdb")
Set rs = Server.Createobject("ADODB.Recordset")
sql="Select * from [ ]"
rs.open sql,conn,1,3
while not rs.eof
rs(" ")=replace(rs(" ")," "," ")
rs.update
rs.movenext
wend
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
なお、SQLの関数replaceのパラメータ1のデータ型ntextは無効です.長いこと探して解決策を見つけた.
ntextは次の文で解決するために変換する必要があります.
UPDATE SET =REPLACE(cast( AS varchar(8000)),' ',' ')