在开发项目时,有些时候会把置顶、首页显示、今日推荐等直接用竖线分割(如:“1|1|1|”)存储于数据库表的某一个字段。这时,我们要查询置顶信息应该如何查询呢?请看以下信息:
举例表中的某字段为News_State,值为 “1|0|0|”,1表示置顶,查询“置顶”新闻的SQL查询语言为:
where substring(News_State,1,1)='1'
或
where substring(News_State,charindex('|',News_State,1)+1,1)='1'
举例表中的某字段为News_State,值为 “0|1|0|”,1表示首页显示,查询“首页显示”新闻的SQL查询语言为:
where substring(News_State,3,1)='1'
或
where substring(News_State,charindex('|',News_State,3)+1,1)='1'
举例表中的某字段为News_State,值为 “0|0|1|”,1表示今日推荐,查询“今日推荐”新闻的SQL查询语言为:
where substring(News_State,5,1)='1'
或
where substring(News_State,charindex('|',News_State,5)+1,1)='1'