① 关于indexOf(String sql)问题,求救!!!!
为重载方法:
indexOf(String sql) //此方法用于判断字符串sql在目标字符串中存在的索引
indexOf(char sql) //此方法用于判断字符sql在目标字符串中存在的索引
如果不存在则返回负数。
用例:
String str="abcdefg";
int count=str.indexOf(cde);
count的值为2;
char ch='f';
int count=str.indexOf(ch);
count的值为5;
② sql 条件查询面积
Java示例:
public static void main(String args[]) {
String rawSql = "“林地” or “面积”>100 or “面积”>90";
rawSql = rawSql.toLowerCase();
Vector<String> conList = new Vector<String>();
String[] split0 = rawSql.split("or");
String where = "";
int i = 0;
for (String s0 : split0) {
++i;
s0 = s0.trim();
if (s0.equals("")) {
continue;
}
String[] split1 = s0.split("and");
int j = 0;
for (String s1 : split1) {
++j;
s1 = s1.trim();
if (s1.equals("")) {
continue;
}
if (s1.indexOf("面积") < 0) {
s1 = "名称 LIKE '%" + s1.trim() + "%'";
s1 = s1.replace("“", "").replace("”", "");
}
where += s1 + " ";
if (j > 0 && j < split1.length) {
where += " and ";
}
}
if (i > 0 && i < split0.length) {
where += " or ";
}
}
String sql = "SELECT * FROM your_table ";
if (where.length() > 0) {
sql += "WHERE " + where;
}
System.out.println(sql);
}
输出结果:
SELECT * FROM your_table WHERE 名称 LIKE '%林地%' or “面积”>100 or “面积”>90
基本思路就在那里,参考一下吧。
③ indexOf()的用法,具体是什么意思
indexOf()的用法:返回字符中indexof(string)中字串string在父串中首次出现的位置,从0开始!没有返回-1;方便判断和截取字符串!
indexOf()定义和用法
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
语法
stringObject.indexOf(searchvalue,fromindex)
参数 描述
searchvalue 必需。规定需检索的字符串值。
fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0到 - 1。如省略该参数,则将从字符串的首字符开始检索。
说明
该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。
提示和注释
注释:indexOf() 方法对大小写敏感!
注释:如果要检索的字符串值没有出现,则该方法返回 -1。
(3)sqlindexof怎么写扩展阅读:
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。
组成部分
ECMAScript,描述了该语言的语法和基本对象。
文档对象模型(DOM),描述处理网页内容的方法和接口。
浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。
参考资料:CSDN-indexOf()使用详解
④ sql查询按时间累计
做是可以做出来,我暂时没考虑优化的问题。
我用的是Oracle数据库,有些函数和写法可能数据库产品之间不太一样,没办法了。
首先创建一个表:
indexof Varchar2
dateof Date
feeof Number
然后插入测试数据:
insert all
into test08 values('A',to_date('2009-05-02 00:00:00','yyyy-mm-dd hh24:mi:ss'),1)
into test08 values('B',to_date('2010-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),2)
into test08 values('A',to_date('2010-02-08 00:00:00','yyyy-mm-dd hh24:mi:ss'),3)
into test08 values('B',to_date('2010-03-09 00:00:00','yyyy-mm-dd hh24:mi:ss'),4)
into test08 values('A',to_date('2009-03-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),5)
into test08 values('A',to_date('2012-03-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),38)
select * from al
然后这个表就和你那个差不多了
A 2009-05-02 00:00:00 1
B 2010-01-01 00:00:00 2
A 2010-02-08 00:00:00 3
B 2010-03-09 00:00:00 4
A 2009-03-01 00:00:00 5
A 2012-03-01 00:00:00 38
稍微多了几个主要是测试用。
然后查询你需要的:
select t1.indexof as indexof,t1.dateof as 日期,t1.feeof as 当期费用,
(
select sum(t2.feeof) from test08 t2
where t2.dateof<=t1.dateof
and t2.dateof>=trunc(t1.dateof,'yyyy')
and t2.indexof=t1.indexof
) as 本年度累加,
(
select sum(t2.feeof) from test08 t2
where t2.dateof<=t1.dateof
and t2.indexof=t1.indexof
) as 总累加
from test08 t1
order by dateof
注意:trunc函数是Oracle数据库函数,是取当前日期的年份的。
order by dateof如果不需要可以删除。有什么不明白的地方可以直接M我。
⑤ sqlserver里有没有类似indexOf功能的函数
sqlserver中和java中indexof类似的函数是字符串函数中的charindex。
CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。
CHARINDEX函数调用方法如下:
CHARINDEX ( expression1 , expression2 [ , start_location ] )
------------------
一个修改字符串的sql语句用到了charindex,substring等函数的综合使用
update [UpdateString]
set b=
substring(b,0,charindex(',',b,0))+','+
cast(cast(substring(substring(b,charindex(',',b,0)+1,len(b)),
0,charindex(',',substring(b,charindex(',',b,0)+1,len(b)),0)) as int)+2 as varchar)+','+
substring(substring(b,charindex(',',b,0)+1,len(b)),
charindex(',',substring(b,charindex(',',b,0)+1,len(b)),0)+1,
len(substring(b,charindex(',',b,0)+1,len(b))))
⑥ sql indexof函数怎么用
sql indexof函数怎么用
有,charindex就是,例如:charindex(str1,str2)返回的就是str1在str2的位置,有就返回具体位置,没有就返回0
⑦ C# 中IndexOf的用法问题
C#中IndexOf的使用
IndexOf()
查找字串中指定字符或字串首次出现的位置,返首索引值,如:
str1.IndexOf("字"); //查找“字”在str1中的索引值(位置)
str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的索引值(位置)
str1.IndexOf("字",start,end);//从str1第start+1个字符起,查找end个字符,查找“字”在字符串STR1中的位置[从第一个字符算起]注意:start+end不能大于str1的长度
indexof参数为string,在字符串中寻找参数字符串第一次出现的位置并返回该位置。如string s="0123dfdfdf";int i=s.indexof("df");这时i==4。
如果需要更强大的字符串解析功能应该用Regex类,使用正则表达式对字符串进行匹配。
indexof() :在字符串中从前向后定位字符和字符串;所有的返回值都是指在字符串的绝对位置,如为空则为- 1
string test="";
test.indexof(’d’) =2 //从前向后 定位 d 第一次出现的位置
test.indexof(’d’,1) =2 //从前向后 定位 d 从第三个字符串 第一次出现的位置
test.indexof(’d’,5,2) =6 //从前向后 定位 d 从第5 位开始查,查2位,即 从第5位到第7位;
lastindexof() :在字符串中从后向前定位字符和字符串;、
用法和 indexof() 完全相同。
⑧ sql 怎样定位一个字符所在的位置
可以通过INSTR方法来进行查询:
sql:select INSTR('abcdefg ','c') from al;
输出结果:3。
解释:以上sql就是查询c字符在“abcdefg”中的位置。