sql函数

SQL截取字符串函数

早过忘川 提交于 2020-01-09 20:33:21
A.截取从字符串左边开始N个字符 Declare @S1 varchar(100) Select @S1='http://www.xrss.cn' Select Left(@S1,4) ------------------------------------ 显示结果: http B.截取从字符串右边开始N个字符(例如取字符www.163.com) Declare @S1 varchar(100) Select @S1='http://www.163.com' Select right(@S1,11) ------------------------------------ 显示结果: www.163.com C.截取字符串中任意位置及长度(例如取字符www) Declare @S1 varchar(100) Select @S1='http://www.xrss.cn' Select SUBSTRING(@S1,8,3) ------------------------------------ 显示结果: www 以上例子皆是已知截取位置及长度,下面介绍未知位置的例子 2.截取未知位置的函数 A.截取指定字符串后的字符串(例如截取http://后面的字符串) 方法一: Declare @S1 varchar(100) Select @S1='http://www.xrss.cn'

pl/sql编程/存储过程/存储函数/触发器

回眸只為那壹抹淺笑 提交于 2020-01-08 02:16:36
pl/sql编程语言 pl/sql编程语言是对sql语言的扩展,使得sql语言具有过程化编程的特性。 pl/sql编程语言比一般的过程化编程语言,更加灵活高效。 pl/sql编程语言主要用来编写存储过程和存储函数等。 结构: declare --变量声明区域 begin --逻辑操作区域 end ; --可以把整个结构理解为java中的main方法 实例 ---声明方法 ---赋值操作可以使用:=也可以使用into查询语句赋值 declare --变量声明区域 i number ( 2 ) : = 10 ; s varchar2 ( 10 ) : = '小明' ; ena emp . ename % type ; ---引用型变量 emprow emp % rowtype ; ---记录型变量 begin dbms_output . put_line ( i ) ; --类似与控制台输出 dbms_output . put_line ( s ) ; select ename into ena from emp where empno = 7788 ; --将查询到的数据通过into赋值到ena dbms_output . put_line ( ena ) ; select * into emprow from emp where empno = 7788 ; dbms_output

1.1 SQL答案

心已入冬 提交于 2020-01-07 21:18:07
第一题 用聚合函数,分组可查出 select * FROM student GROUP BY name HAVING MIN(fenshu>=80) 用子查询先查出分数小于80的,在查出不在这其中的函数 SELECT distinct name from student where name not in(SELECT name from student where fenshu<=80) 第二题 --普通的查询You can't specify target table for update in FROM clause --错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中) --必须搞一个虚表, --也就是说将select出的结果再通过中间表select一遍,这样就规避了错误。 --注意,这个问题只出现于mysql,mssql和Oracle不会出现此问题。 --在select外边套一层,让数据库认为你不是查同一表的数据作为同一表的更新数据 delete from student2 where id not in (select min(id) from (select * from student2 ) as t group by t.name); 第三题 --两张表的笛卡尔乘积,最终结果应该有 4*4=16条结果。 -

lpad函数

和自甴很熟 提交于 2020-01-06 04:40:59
基本用法: lpad函数 函数介绍 lpad函数是 Oracle 数据库函数 ,lpad函数从左边对 字符 串使用指定的字符进行填充。从其字面意思也可以理解,l是left的简写,pad是填充的意思,所以lpad就是从左边填充的意思。 2 语法 语法格式如下: lpad( string, padded_length, [ pad_string ] ) string 准备被填充的字符串; padded_length 填充之后的 字符 串长度,也就是该函数返回的字符串长度,如果这个数量比原字符串的长度要短,lpad函数将会把字符串截取成从左到右的n个字符; pad_string 填充字符串,是个可选参数,这个字符串是要粘贴到string的左边,如果这个参数未写,lpad函数将会在string的左边粘贴空格。 示例1: SQL> select lpad('abcde',10,'x') from dual; LPAD('ABCDE',10,'X') -------------------- xxxxxabcde 示例2: SQL> select lpad('abcde',10,'oq') from dual; LPAD('ABCDE',10,'OQ') --------------------- oqoqoabcde 示例3: SQL> select lpad('abcde',2) from

SQL Server数据库的T-SQL高级查询

Deadly 提交于 2020-01-05 00:21:51
一、查询使用的函数 请自行创建数据库和表,表中插入数据,我的样例如下: create database accp; <!--创建accp数据库--> use accp; <!--切换到accp数据库--> create table test ( <!--创建test表--> 编号 int identity(1,1) not null, 姓名 nvarchar(4) not null, 证件号码 varchar(18) primary key, 职务 nvarchar(6) null, 入职时间 datetime null, 出生日期 datetime null, 基本工资 money null check (基本工资 >=0 and 基本工资 <= 10000), ); select * from test; <!--查看test表结构--> alter table test add 备注 nvarchar(50); <!--添加一列备注列--> <!--表中插入数据 --> insert into test values ('王三','111111111111111111','初级运维','2011/3/8','1980/12/3',7500,'老员工'); insert into test values ('杜五','222222222222222222','中级运维',

SQL Server日期和时间函数

浪子不回头ぞ 提交于 2020-01-04 03:17:05
1.当前时间 SELECT GETDATE() 2.日期格式,使用CONVERT转换SELECT CONVERT(VARCHAR,GETDATE(),25) 2012-08-15 11:33:35.780 SELECT CONVERT(VARCHAR,GETDATE(),121) 2012-08-15 11:33:35.780 SELECT CONVERT(VARCHAR,GETDATE(),24) 11:32:55 SELECT CONVERT(VARCHAR,GETDATE(),108) 11:32:55 SELECT CONVERT(VARCHAR,GETDATE(),23) 2012-08-15 SELECT CONVERT(VARCHAR,GETDATE(),23) 2012-08-15 11:34:49 SELECT CONVERT(VARCHAR,GETDATE(),120) 2012-08-15 11:34:49 SELECT CONVERT(VARCHAR,GETDATE(),114) 11:39:06:840 SELECT CONVERT(VARCHAR,GETDATE(),113) 15 08 2012 11:38:35:750 SELECT CONVERT(VARCHAR,GETDATE(),112) 20120815 SELECT CONVERT

Sql Server基本函数

时光毁灭记忆、已成空白 提交于 2020-01-01 13:34:58
1.字符串函数 长度与分析用 datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格 substring(expression,start,length) 不多说了,取子串 right(char_expr,int_expr) 返回字符串右边int_expr个字符 字符操作类 upper(char_expr) 转为大写 lower(char_expr) 转为小写 space(int_expr) 生成int_expr个空格 replicate(char_expr,int_expr)复制字符串int_expr次 reverse(char_expr) 反转字符串 stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从 start开始的length个字符用char_expr2代替 ltrim(char_expr) rtrim(char_expr) 取掉空格 ascii(char) char(ascii) 两函数对应,取ascii码,根据ascii吗取字符 字符串查找 charindex(char_expr,expression) 返回char_expr的起始位置 patindex("%pattern%",expression) 返回指定模式的起始位置,否则为0 2.数学函数 abs(numeric

Sql Server基本函数

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-01 13:34:39
1 Sql Server基本函数 Sql Server基本函数 1.字符串函数 长度与分析用 datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格 substring(expression,start,length) 不多说了,取子串 right(char_expr,int_expr) 返回字符串右边int_expr个字符 字符操作类 upper(char_expr) 转为大写 lower(char_expr) 转为小写 space(int_expr) 生成int_expr个空格 replicate(char_expr,int_expr)复制字符串int_expr次 reverse(char_expr) 反转字符串 stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从 start开始的length个字符用char_expr2代替 ltrim(char_expr) rtrim(char_expr) 取掉空格 ascii(char) char(ascii) 两函数对应,取ascii码,根据ascii吗取字符 字符串查找 charindex(char_expr,expression) 返回char_expr的起始位置 patindex("%pattern%",expression)

SQL Server基本函数

喜夏-厌秋 提交于 2020-01-01 13:34:24
1. 字符串函数   1.1 datalength ( char_expr ) ,返回表达式的 字节数 ,不包含 尾随 空格    返回类型: 如果 expression 的数据类型为 varchar(max)、nvarchar(max) 或 varbinary(max) 数据类型,则返回 bigint;否则返回 int。null的datalength的结果是null.   1.2 len ( char_ expr ) ,返回 表达式 的 字符数 ,不包含尾随空格   1.3 substring ( char_ expr, start, length ) ,在expression中取start位置开始length长度的字符串。字符串下标从1开始。   1.4 right ( char_expr,int_expr ) ,返回表达式从起始位置(从右端开始)到指定字符位置(从右端开始计数)的部分;对比区分 left()   1.5 isnull (check_expr,replace_value) ,如果check_expr为空,返回replaced的值,否则返回check_expr   1.6 upper (char_expr) 转为大写;反之 lower (char_expr) 转为小写   1.7 space (int_expr) 生成int_expr个空格   1.8

Sql Server基本函数

我们两清 提交于 2020-01-01 13:34:06
1.字符串函数 长度与分析用 datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格 substring(expression,start,length) 不多说了,取子串 right(char_expr,int_expr) 返回字符串右边int_expr个字符 字符操作类 upper(char_expr) 转为大写 lower(char_expr) 转为小写 space(int_expr) 生成int_expr个空格 replicate(char_expr,int_expr)复制字符串int_expr次 reverse(char_expr) 反转字符串 stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从 start开始的length个字符用char_expr2代替 ltrim(char_expr) rtrim(char_expr) 取掉空格 ascii(char) char(ascii) 两函数对应,取ascii码,根据ascii吗取字符 字符串查找 charindex(char_expr,expression) 返回char_expr的起始位置 patindex("%pattern%",expression) 返回指定模式的起始位置,否则为0 2.数学函数 abs(numeric