A. Oracle sql查询和SQL函数 问题
诶亚
看来我的贴几章书才行
1.请总结为日期字段赋值的几种方式,并举例说明
oracle中有个到当前系统时间--sysdate,如:
select sysdate from al
可对日期进行自述运算:
select (sysdate-mybirthday)/7 from person
months_between('01-sep-95','11-jan-94')---取得二个日期之间的间隔月数(19.6774194)
add_months('11-jan-94',6)---给指定日期加上指定的月份后得到一个新的日期(11-jul-94)
next_day('01-sep-85','friday')---取得当前日期中下个周五的日期(01-jul-95)
last_day('01-feb-95')---取得当前日期中月份的最后一天(28-feb-95)
round进行四舍五入,trunc则否,以下是我的操作结果:
sysdate为:
SYSDATE
----------
28-7月 -06
select
round(sysdate,'month') RM,
round(sysdate,'year') RY,
trunc(sysdate,'month') TM,
trunc(sysdate,'year') TY
from al;
RM RY TM TY
---------- ---------- ---------- ----------
01-8月 -06 01-1月 -07 01-7月 -06 01-1月 -06
2.请总结select语句的几种用法,并举例说明
inner join
left join
right join
cross join (一般不允许用)
3.请总结SQL操作符,每种操作符各举一例说明
||字符串相加
>
<
=
Like
Between and
4.请总结SQL单行函数,每个函数各举一例说明
越全面越好,
>字符处理
upper(str)---将字符串str全部转换成大写
lower(str)---将字符串str全部转换成小写
initcap(str)---将字符串中每个单词的首字母大写
concat(str1,str2)---将字符串str1与str2连接起来(也可以通过'||'号直接相连)
substr(str,a,b)---取字符串str中的指定字符,从位置a开始取长度为b的字符串,假如a为正则从左边开始,否则从右边开始
instr(str,'z')---取得str字符串中从左边开始每一次出现z字符的下标位置(下标从1开始)
lpad(str,12,'*')---左填充,即将字符串str长度填充到12,假如其不足12位则在左边以*号填充
rpad(str,12,'*')---右填充,同上
length(str)---计算字符串str的长度
2>数字函数
round(45.926,2)---将前一数保留指定的小数位,并四舍五入(45.93),假如指定位是负数则意为在小数点左边保留指定位,如round(45.923,-1)=50,rount(45.923,0)=46,round(45.93,-2)=0,round(55.93,-2)=100
trunc(45.926,2)---同上,得不四舍五入(45.92)
mod(1600,300)---求余(100)
B. Oracle还是SQL中字符函数中有没有替换功能
select replace ('原字符串','要替换的字符串','替换后的字符串') from al;
执行之后就是替换结果。
C. ORACLE用pl/sql中的instr、replace等字符处理函数,字符串为'XXX='时容易视为变量该怎么处理
我要说一句,连PL/SQL都不知道的也能给推荐?
请推荐的人不要只为了完成任务而推荐,为网友,为知道负点责好吗?
如果是C#,直接split+length就可以得到结果,人家要的是PL/SQL.
D. oracle中查找一个字符串中某个字符的位置是什么函数
查找位置的函数为instr函数。下标以1开始,如果不存在则返回0。
举例如下:
1、创建测试表,
create table test_instr(str varchar2(20));
E. Oracle SQL截取字符串
4行?4列不行么?
select substr(col, 1,1) as a, substr(col, 2,2) as b, substr(col,4,3) as c, substr(col,7,4) from table_name;
用逗号隔开
select substr(col, 1,1) ||','||substr(col, 2,2) ||','|| substr(col,4,3) ||','||substr(col,7,4) from table_name;
F. oracle中 sql截取某个字符前面和后面的值
1、将新建好的表aaaa,填充需要查询的数据以"_"或者","为分隔符的两条数据。
G. Oracle SQL判断字符串是否在目标字符串中的函数
用于识别以下的情况:判断 字符串A 在用逗号分隔的字符串B中是否存在如: v_str_a = aa ;v_str_b= aa,bb,dd,cc ; 如上,就返回Y,否则返回N。添加了一些校验。 以后可以根据需求,按照指定的分隔符,提取字符串。毕竟Oracle的字符串解析比较麻烦,能封装就封装。Sql代码 create or replace function func_str_inArray(p_target varchar2, p_str_array varchar2) return varchar2 is v_flag varchar2(1); v_comma_loc int; v_cut_string varchar2(300); v_rest_string varchar2(2000); begin ------------------------ --p_target 不能包含","!!!注意!! --info:这个函数用于识别目标字符串,是否在一串用“,”分开的字符串内 ------------------------ v_flag := 'N'; v_comma_loc := instr(p_str_array, ','); --如果是对比字符串是空,则返回false if nvl(p_str_array, '') = '' then return 'N'; end if; --如果没有逗号,直接比较 if length(p_str_array) > 0 and v_comma_loc = 0 then if p_target = p_str_array then return 'Y'; else return 'N'; end if; end if; v_rest_string := p_str_array; while v_comma_loc > 0 loop v_cut_string := substr(v_rest_string, 0, v_comma_loc - 1); v_rest_string := substr(v_rest_string, v_comma_loc + 1, length(v_rest_string) - 1); if p_target = v_cut_string then v_flag := 'Y'; end if; v_comma_loc := instr(v_rest_string, ','); if v_comma_loc = 0 and length(v_rest_string) > 0 then if p_target = v_rest_string then v_flag := 'Y'; end if; end if; end loop; return v_flag; end;
H. sql数据库截取字符串函数
Oracle中 其语法为:
substr函数的用法,取得字符串中指定起始位置和长度的字符串 ,默认是从起始位置到结束的子串。
substr( string, start_position, [ length ] ) substr('目标字符串',开始位置,长度)
如:
substr('This is a test', 6, 2) would return 'is'
substr('This is a test', 6) would return 'is a test'
substr('TechOnTheNet', -3, 3) would return 'Net'
substr('TechOnTheNet', -6, 3) would return 'The'select substr('Thisisatest', -4, 2) value from al
I. oracle的sql里面有没有测试字符串包含的函数
instr(字段,'字符串') 返回0 表示 不包含
J. Oracle中如何用SQL把字符串转换成整型
您可以使用cast函数将数字字符串转化为整型。
cast函数格式如下:
CAST(字段名 as int);
拓展资料
结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。