select函数

sql常用函数instr()和substr()

你。 提交于 2020-03-12 19:57:31
Decode decode(条件,值1,翻译值1,值2,翻译值2,...,缺省值) 该函数与程序中的 If...else if...else 意义一样 NVL 格式: NVL( string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。 注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数进行类型转换。 select nvl(sum(t.dwxhl),1) from tb_jhde t 就表示如果sum(t.dwxhl) = NULL 就返回 1 Oracle 在NVL函数的功能上扩展,提供了NVL2函数 NVL2 nvl2 (E1, E2, E3) 的功能为:如果E1为NULL,则函数返回E3,否则返回E2 结合 Decode 和 NVL等函数 常常结合使用,例如 select monthid,decode(nvl(sale,6000),6000,'NG','OK') from output sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1, 如果取较小值就是 select monthid,decode(sign(sale-6000),-1,sale,6000) from

oracle instr函数使用

本秂侑毒 提交于 2020-03-12 19:33:02
INSTR(源字符串, 目标字符串, 起始位置, 匹配序号) : 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束。 一、语法如下: instr( string1, string2 [, start_position [, nth_appearance ] ] ) 1>参数分析:   ①string1:源字符串,要在此字符串中查找。 ②string2:要在string1中查找的字符串.   ③start_position:代表string1 的哪个位置开始查找。 注:此参数可选,如果省略默认为1. 字符串索引从1开始。 如果此参数为正,从左到右开始检索。 如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。   ④nth_appearance:代表要查找第几次出现的string2. 注:此参数可选,如果省略,默认为 1.如果为负数系统会报错。 注意:如果String2在String1中没有找到,instr函数返回0. 2>示例:   SELECT instr('syranmo','s') FROM dual; -- 返回 1   SELECT instr('syranmo','ra') FROM dual; -- 返回 3   SELECT instr('syran mo','a'

Oracle 函数

徘徊边缘 提交于 2020-03-12 19:31:35
instr函数 INSTR   (源字符串, 目标字符串, 起始位置, 匹配序号)   在 Oracle /PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始   到字符的结尾就结束。   语法如下:   instr( string1, string2 [, start_position [, nth_appearance ] ] )   参数分析:   string1  源字符串,要在此字符串中查找。   string2 要在string1中查找的字符串.   start_position  代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。   nth_appearance  代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。   注意:   如果String2在String1中没有找到,instr函数返回0.   示例:   SELECT instr('syranmo','s') FROM dual; -- 返回 1   SELECT instr('syranmo','ra') FROM dual; -- 返回 3   1 SELECT

Orcale INSTR函数|转|

这一生的挚爱 提交于 2020-03-12 19:30:42
转自 http://blog.163.com/liu_yang1234/blog/static/2447431020112290109559/ INSTR   (源字符串, 目标字符串, 起始位置, 匹配序号)   在 Oracle /PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始   到字符的结尾就结束。   语法如下:   instr( string1, string2 [, start_position [, nth_appearance ] ] )   参数分析:   string1   源字符串,要在此字符串中查找。   string2   要在string1中查找的字符串.   start_position   代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。   nth_appearance   代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。   注意:   如果String2在String1中没有找到,instr函数返回0.   示例:   SELECT instr('syranmo','s') FROM dual; -

Oracle中Instr函数的用法

空扰寡人 提交于 2020-03-12 19:24:14
INSTR   (源字符串, 目标字符串, 起始位置, 匹配序号)   在 Oracle /PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始   到字符的结尾就结束。   语法如下:   instr( string1, string2 [, start_position [, nth_appearance ] ] )   参数分析:   string1   源字符串,要在此字符串中查找。   string2   要在string1中查找的字符串.   start_position   代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。   nth_appearance   代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。   注意:   如果String2在String1中没有找到,instr函数返回0.   示例:   SELECT instr('syranmo','s') FROM dual; -- 返回 1   SELECT instr('syranmo','ra') FROM dual; -- 返回 3   1 SELECT

Oracle中instr 函数的详解

霸气de小男生 提交于 2020-03-12 19:22:02
INSTR   (源字符串, 目标字符串, 起始位置, 匹配序号)   在 Oracle /PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始   到字符的结尾就结束。   语法如下:   instr( string1, string2 [, start_position [, nth_appearance ] ] )   参数分析:   string1   源字符串,要在此字符串中查找。   string2   要在string1中查找的字符串.   start_position   代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。   nth_appearance   代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数 系统 会报错。   注意:   如果String2在String1中没有找到,instr函数返回0.   示例:   SELECT instr('syranmo','s') FROM dual; -- 返回 1   SELECT instr('syranmo','ra') FROM dual; -- 返回 3   1 SELECT

Oracle分析函数——【转】

谁都会走 提交于 2020-03-11 22:23:31
原文地址: http://love-flying-snow.iteye.com/blog/573083 以下是原文: 本文讲述Oracle分析函数用法,首先建表: Sql代码: create table earnings -- 打工赚钱表 ( earnmonth varchar2(6), -- 打工月份 area varchar2(20), -- 打工地区 sno varchar2(10), -- 打工者编号 sname varchar2(20), -- 打工者姓名 times int, -- 本月打工次数 singleincome number(10,2), -- 每次赚多少钱 personincome number(10,2) -- 当月总收入 ) 然后插入实验数据: insert into earnings values('200912','北平','511601','大魁',11,30,11*30); insert into earnings values('200912','北平','511602','大凯',8,25,8*25); insert into earnings values('200912','北平','511603','小东',30,6.25,30*6.25); insert into earnings values('200912','北平',

课时7:动语态SQL、foreach、输入参数为类中的集合属性、集合、数组、动态数组

末鹿安然 提交于 2020-03-10 19:01:06
.1)if和where标签的使用   1.第一种方式来来实现动态的sql <!-- 是用if标签实现动态sql语句 1--> <select id="queryAllStudentByNameAndAgeSql" resultType="student" parameterType="student"> select stuno,stuname,stusex from student where 1=1 <if test="stuSex!=null and stuSex!=''"> and stusex=#{stuSex} </if> <if test="stuName!=null and stuName!=''"> and stuname=#{stuName} </if>   2.第二种方式来实现动态sql方式 <select id="queryAllStudentByNameAndAgeSql" resultType="student" parameterType="student"> select stuno,stuname,stusex from student <where> <if test="stuSex!=null and stuSex!=''"> and stusex=#{stuSex} </if> <if test="stuName!=null and

sql datepart ,dateadd,datediff,DateName函数

荒凉一梦 提交于 2020-03-08 16:14:06
[转载]sql datepart ,dateadd,datediff,DateName函数 (2011-09-13 15:16:56) 转载 ▼ 标签: 转载 分类: SQL语句(oracle,sql) 详细!! 原文地址: sql datepart ,dateadd,datediff,DateName函数 作者: 蓝天碧海 1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.000 3. datediff 返回跨两个指定日期的日期和时间边界数。 select datediff(day,'2004-09-01','2004-09-18') --返回:17 4. datepart 返回代表指定日期的指定日期部分的整数。 SELECT DATEPART(month, '2004-10-15') --返回 10 5. datename 返回代表指定日期的指定日期部分的字符串 SELECT datename(weekday, '2004-10-15') --返回:星期五 6. day(), month(),year() --可以与datepart对照一下

SQL合并分拆表

爱⌒轻易说出口 提交于 2020-03-07 17:41:22
-- 合并分拆表 /* ***************************************************************************************************************************************************** 合并分拆表数据 整理人:中国风(Roy) 日期:2008.06.06 ***************************************************************************************************************************************************** */ -- > --> (Roy)生成測試數據 if not object_id ( ' Tab ' ) is null drop table Tab Go Create table Tab( [ Col1 ] int , [ Col2 ] nvarchar ( 1 )) Insert Tab select 1 ,N ' a ' union all select 1 ,N ' b ' union all select 1 ,N ' c ' union all select 2 ,N ' d '