巧用Split()函数生成SQL查询语句
发布时间 | 2017/8/20 点击 | 次
Split 程序代码
attribs="商场名^^快餐店名^^报停名"
names=Split(attribs,"^^")
i=0
for each name in names
response.write names(i)&"
"
i=i+1
next
程序拆分结果:
商场名
快餐店名
报停名
根据 Split 结果生成 SQL 语句
attribs="商场名^^快餐店名^^报停名"
names=Split(attribs,"^^")
i=0
sql="select top 10 * from TableName where"
for each name in names
if names(i)="商场名" then
sql=sql+" or 商场 like '%"&names(i)&"%'"
end if
if names(i)="快餐店名" then
sql=sql+" or 快餐店 like '%"&names(i)&"%'"
end if
if names(i)="报停名" then
sql=sql+" or 快餐店 like '%"&names(i)&"%'"
end if
i=i+1
next
sql=sql+" Ordey by Id DESC"
sql=Replace(sql, "where or", "where")
response.write sql
程序运行结果:
select top 10 * from TableName where 商场 like '%商场名%' or 快餐店 like '%快餐店名%' or 快餐店 like '%报停名%' Ordey by Id DESC
备注:
描述
返回基于 0 的一维数组,其中包含指定数目的子字符串。
语法
Split(expression[, delimiter[, count[, start]]])
Split 函数的语法有以下参数:
参数 描述
expression 必选。字符串表达式,包含子字符串和分隔符。如果 expression 为零长度字符串,Split 返回空数组,即不包含元素和数据的数组。
delimiter 可选。用于标识子字符串界限的字符。如果省略,使用空格 ("") 作为分隔符。如果 delimiter 为零长度字符串,则返回包含整个 expression 字符串的单元素数组。
count 可选。被返回的子字符串数目,-1 指示返回所有子字符串。
compare 可选。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。
设置
compare 参数可以有以下值:
常数 值 描述
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文本比较。
vbDatabaseCompare 2 执行基于数据库(在此数据库中执行比较)中包含的信息的比较。
mystr="1,2,3,4,5" mystr=split(mystr,",") for i=0 to ubound(mystr) response.write mystr(i) next '返回值为123456 mystr="xlei.net/http/student/x/index.asp" mystr=split(mystr,"/http/student") for i=0 to ubound(mystr) response.write mystr(i) next '返回值为xlei.net/x/index.asp mystr="1网站2网页3页面4设计5程序" mystr=split(mystr,"批在") for i=0 to ubound(mystr) response.write mystr(i) next '返回值为1234批是在56