日期:2014-05-19  浏览次数:20371 次

slect 语法问题
有表一,字段1
想这样进行操作:
select   *   from   表一   where   left(字段一,instr(字段一, ". "))+ "xx "=y;

这条select没别的意思,就想问问这种做法和格式行吗?

instr(字段一, ". ")     //取得字段一中的第一次出现 ". "的位置。
left(字段一,n)     //截取左边n个字符。

环境asp.net   2.0   +sqlserver2005

我试过有时候简单在select中对字段一进行操作是可以的,而有时候又不行。真奇怪,有没有肯定的答案。




------解决方案--------------------
可以,但是效率不高
------解决方案--------------------
left和instr在Sql语句中操作,不是所有的数据库都支持的,只有在Office的数据源上才行,在比如SqlServer上就不可以了,因为它们没有相应的内嵌方法.
所以能不能用要看数据库本身所提供的方法.