文档库 最新最全的文档下载
当前位置:文档库 › sql常用资料

sql常用资料

常用全局变量:

select APP_NAME ( ) as w --当前会话的应用程序

select @@ERROR --返回最后执行的Transact-SQL 语句的错误代码(integer)

select @@IDENTITY --返回最后插入的标识值

select USER_NAME() --返回用户数据库用户名

select @@CONNECTIONS --返回自上次SQL启动以来连接或试图连接的次数。

select GETDATE() --当前时间

select @@CPU_BUSY/100 --返回自上次启动SQL 以来CPU 的工作时间,单位为毫秒USE tempdb select @@DBTS as w --为当前数据库返回当前timestamp 数据类型的值。这一timestamp 值保证在数据库中是唯一的。

select @@IDLE as w --返回SQL自上次启动后闲置的时间,单位为毫秒

select @@IO_BUSY AS w --返回SQL自上次启动后用于执行输入和输出操作的时间,单位为毫秒

select @@LANGID AS w --返回当前所使用语言的本地语言标识符(ID)。

select @@LANGUAGE AS w --返回当前使用的语言名

select @@LOCK_TIMEOUT as w --当前会话的当前锁超时设置,单位为毫秒。

select @@MAX_CONNECTIONS as w --返回SQL上允许的同时用户连接的最大数。返回的数不必为当前配置的数值

EXEC sp_configure --显示当前服务器的全局配置设置

select @@MAX_PRECISION as w --返回decimal 和numeric 数据类型所用的精度级别,即该服务器中当前设置的精度。默认最大精度38。

select @@OPTIONS as w --返回当前SET 选项的信息。

select @@PACK_RECEIVED as w --返回SQL自启动后从网络上读取的输入数据包数目。select @@PACK_SENT as w --返回SQ自上次启动后写到网络上的输出数据包数目。select @@PACKET_ERRORS as w --返回自SQL启动后,在SQL连接上发生的网络数据包错误数。

select @@SERVERNAME as w --返回运行SQL服务器名称。

select @@SERVICENAME as w --返回SQL正在其下运行的注册表键名

select @@TIMETICKS as w --返回SQL服务器一刻度的微秒数

select @@TOTAL_ERRORS AS w --返回SQL服务器自启动后,所遇到的磁盘读/写错误数。

select @@TOTAL_READ as w --返回SQL服务器自启动后读取磁盘的次数。

select @@TOTAL_WRITE as w --返回SQL服务器自启动后写入磁盘的次数。

select @@TRANCOUNT as w --返回当前连接的活动事务数。

select @@VERSION as w --返回SQL服务器安装的日期、版本和处理器类型。

常用函数

--聚合函数

use pubs

go

select avg(distinct price) --算平均数

from titles

where type='business'

go

use pubs

go

select max(ytd_sales) --最大数

from titles

go

use pubs

go

select min(ytd_sales) --最小数

from titles

go

use pubs

go

select type,sum(price),sum(advance) --求和

from titles

group by type

order by type

go

use pubs

go

select count(distinct city) --求个数

from authors

go

use pubs

go

select stdev(royalty) --返回给定表达式中所有值的统计标准偏差

from titles

go

use pubs

go

select stdevp(royalty) --返回表达式中所有制的填充统计标准偏差

from titles

go

use pubs

go

select var(royalty) --返回所有值的统计方差

from titles

go

use pubs

go

select varp(royalty) --返回所有值的填充的统计方差

from titles

go

--数学函数

select sin(23.45),atan(1.234),rand(),PI(),sign(-2.34) --其中rand是获得一个随机数--配置函数

SELECT @@VERSION --获取当前数据库版本

SELECT @@LANGUAGE --当前语言

--时间函数

select getdate() as 'wawa_getdate' --当前时间

select getutcdate() as 'wawa_getutcdate' --获取utc时间

select day(getdate()) as 'wawa_day' --取出天

select month(getdate()) as 'wawa_month' --取出月

select year(getdate()) as 'wawa_year' --取出年

select dateadd(d,3,getdate()) as wawa_dateadd --加三天,注意'd'表示天,'m'表示月,'yy'表示年,下面一样

select datediff(d,'2004-07-01','2004-07-15') as wawa_datediff --计算两个时间的差

select datename(d,'2004-07-15') as wawa_datename --取出时间的某一部分

select datepart(d,getdate()) as wawa_datepart --取出时间的某一部分,和上面的那个差不多

--字符串函数

select ascii(123) as '123',ascii('123') as '"123"',ascii('abc') as '"abc"' --转换成ascii码select char(123),char(321),char(-123) --根据ascii转换成字符

select lower('ABC'),lower('Abc'),upper('Abc'),upper('abc') --转换大小写

select str(123.45,6,1), str(123.45,2,2) --把数值转换成字符串

select ltrim(' "左边没有空格"') --去空格

select rtrim('"右边没有空格" ') --去空格

select ltrim(rtrim(' "左右都没有空格" ')) --去空格

select left('sql server',3),right('sql server',6) --取左或者取右

use pubs

select au_lname,substring(au_fname,1,1) --取子串

from authors

order by au_lname

select charindex('123','abc123def',2) --返回字符串中指定表达式的起始位置

select patindex('123','abc123def'),patindex('%123%','abc123def') --返回表达式中某模式第一次出现的起始位置

select quotename('abc','{'),quotename('abc') --返回由指定字符扩住的字符串

select reverse('abc'),reverse('上海') --颠倒字符串顺序

select replace('abcdefghicde','cde','xxxx') --返回呗替换了指定子串的字符串

select space(5),space(-2)

--系统函数

select host_name() as 'host_name',host_id() as 'host_id',user_name() as

'user_name',user_id() as 'user_id',db_name() as 'db_name'

--变量的定义使用

--声明局部变量

declare @mycounter int

declare @last_name varchar(30),@fname varchar(20),@state varchar(2) --一下声明多个变量

--给变量赋值

use northwind

go

declare @firstnamevariable varchar(20),

@regionvariable varchar(30)

set @firstnamevariable='anne' --可以用set,也可以用select给变量赋值,微软推荐用set,但select在选择一个值直接赋值时很有用

set @regionvariable ='wa'

select lastname,firstname,title --用声明并赋值过的变量构建一个Select语句并查询

from employees

where firstname= @firstnamevariable or region=@regionvariable

go

--全局变量

select @@version --返回数据库版本

select @@error --返回最后的一次脚本错误

select @@identity --返回最后的一个自动增长列的id

--while,break,continue的使用

--首先计算所有数的平均价格,如果低于30的话进入循环让所有的price翻倍,

--里面又有个if来判断如果最大的单价还大于50的话,退出循环,否则继续循环,知道最大单价大于50就break出循环,呵呵,

--我分析的应该对吧.

use pubs

go

while (select avg(price) from titles) <$30

begin

update titles

set price=price*2

select max(price) from titles

if(select max(price) from titles) >$50

break

else

continue

end

print 'too much for the marker to bear'

--事务编程经典例子

--begin transaction是开始事务,commit transaction是提交事务,rollback transaction是回滚事务

--这个例子是先插入一条记录,如果出现错误的话就回滚事务,也就是取消,并直接return(返回),如果没错的话就commit 提交这个事务了哦

--上面的那个return返回可以返回一个整数值,如果这个值是0的话就是执行的时候没出错,如果出错了就是一个负数,

--这个return也可以用在存储过程中,可用用exec @return_status= pro_name来获取这个值use pubs

go

begin tran mytran

insert into stores(stor_id,stor_name)

values('333','my books')

go

insert into discounts(discounttype,stor_id,discount)

values('清仓甩卖','9999',50.00)

if @@error<>0

begin

rollback tran mytran

print '插入打折记录出错'

return

end

commit tran mytran

--事务处理的保存点示例

--做了事务保存点后可以rollback(回滚)到指定的保存点,不至于所有的操作都不能用

use pubs

go

select * from stores

begin transaction testsavetran

insert into stores(stor_id,stor_name)

values('1234','W.Z.D Book')

save transaction before_insert_data2

go

insert into stores(stor_id,stor_name)

values('5678','foreat Books')

go

rollback transaction before_insert_data2

select * from stores

--存储存储过程

use pubs

if exists(select name from sysobjects where name= 'proc_calculate_taxes' and type='P') drop procedure proc_calculate_taxes

go

create procedure proc_calculate_taxes (@p1 smallint=42,@p2 char(1),@p3

varchar(8)='char')

as

select *

from titles

--执行过程

EXECUTE PROC_CALCULATE_TAXES @P2='A'

常用函数

打开查询分析器,按F1,然后查找你要的,都是中文的帮助,很容易看懂的。

关键字很简单。我就不赘述了

,说一下函数吧

17、常用函数

----统计函数----

AVG --求平均值

COUNT --统计数目

MAX --求最大值

MIN --求最小值

SUM --求和

--AVG

use pangu

select avg(e_wage) as dept_avgWage

from employee

group by dept_id

--MAX

--求工资最高的员工姓名

use pangu

select e_name

from employee

where e_wage =

(select max(e_wage)

from employee)

--STDEV()

--STDEV()函数返回表达式中所有数据的标准差

--STDEVP()

--STDEVP()函数返回总体标准差

--VAR()

--VAR()函数返回表达式中所有值的统计变异数

--VARP()

--VARP()函数返回总体变异数

----算术函数----

/***三角函数***/

SIN(float_expression) --返回以弧度表示的角的正弦COS(float_expression) --返回以弧度表示的角的余弦

TAN(float_expression) --返回以弧度表示的角的正切

COT(float_expression) --返回以弧度表示的角的余切

/***反三角函数***/

ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角

ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角

ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角

ATAN2(float_expression1,float_expression2)

--返回正切是float_expression1 /float_expres-sion2的以弧度表示的角

DEGREES(numeric_expression)

--把弧度转换为角度返回与表达式相同的数据类型可为

--INTEGER/MONEY/REAL/FLOAT 类型

RADIANS(numeric_expression) --把角度转换为弧度返回与表达式相同的数据类型可为

--INTEGER/MONEY/REAL/FLOAT 类型

EXP(float_expression) --返回表达式的指数值

LOG(float_expression) --返回表达式的自然对数值

LOG10(float_expression)--返回表达式的以10 为底的对数值

SQRT(float_expression) --返回表达式的平方根

/***取近似值函数***/

CEILING(numeric_expression) --返回>=表达式的最小整数返回的数据类型与表达式相同可为

--INTEGER/MONEY/REAL/FLOAT 类型

FLOOR(numeric_expression) --返回<=表达式的最小整数返回的数据类型与表达式相同可为--INTEGER/MONEY/REAL/FLOAT 类型

ROUND(numeric_expression) --返回以integer_expression 为精度的四舍五入值返回的数据

--类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型

ABS(numeric_expression) --返回表达式的绝对值返回的数据类型与表达式相同可为

--INTEGER/MONEY/REAL/FLOAT 类型

SIGN(numeric_expression) --测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型

--与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型

PI() --返回值为π 即3.1415926535897936

RAND([integer_expression]) --用任选的[integer_expression]做种子值得出0-1 间的随机浮点数

18、字符串函数

ASCII() --函数返回字符表达式最左端字符的ASCII 码值

CHAR() --函数用于将ASCII 码转换为字符

--如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值

LOWER() --函数把字符串全部转换为小写

UPPER() --函数把字符串全部转换为大写

STR() --函数把数值型数据转换为字符型数据

LTRIM() --函数把字符串头部的空格去掉

RTRIM() --函数把字符串尾部的空格去掉

LEFT(),RIGHT(),SUBSTRING() --函数返回部分字符串

CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置SOUNDEX() --函数返回一个四位字符码

--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值

DIFFERENCE() --函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异

--0 两个SOUNDEX 函数返回值的第一个字符不同

--1 两个SOUNDEX 函数返回值的第一个字符相同

--2 两个SOUNDEX 函数返回值的第一二个字符相同

--3 两个SOUNDEX 函数返回值的第一二三个字符相同

--4 两个SOUNDEX 函数返回值完全相同

QUOTENAME() --函数返回被特定字符括起来的字符串

/*select quotename('abc', '{') quotename('abc')

运行结果如下

----------------------------------{

{abc} [abc]*/

REPLICATE() --函数返回一个重复character_expression 指定次数的字符串

/*select replicate('abc', 3) replicate( 'abc', -2)

运行结果如下

----------- -----------

abcabcabc NULL*/

REVERSE() --函数将指定的字符串的字符排列顺序颠倒

REPLACE() --函数返回被替换了指定子串的字符串

/*select replace('abc123g', '123', 'def')

运行结果如下

----------- -----------

abcdefg*/

SPACE() --函数返回一个有指定长度的空白字符串

STUFF() --函数用另一子串替换字符串指定位置长度的子串

19、数据类型转换函数----

CAST() 函数语法如下

CAST() ( AS [ length ])

CONVERT() 函数语法如下

CONVERT() ([ length ], [, style])

select cast(100+99 as char) convert(varchar(12), getdate())

运行结果如下

------------------------------ ------------

199 Jan 15 2000

20、日期函数----

DAY() --函数返回date_expression 中的日期值

MONTH() --函数返回date_expression 中的月份值

YEAR() --函数返回date_expression 中的年份值

DATEADD( , ,)

--函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期

DATEDIFF( , ,)

--函数返回两个指定日期在datepart 方面的不同之处

DATENAME( , ) --函数以字符串的形式返回日期的指定部分DATEPART( , ) --函数以整数值的形式返回日期的指定部分

GETDATE() --函数以DATETIME 的缺省格式返回系统当前的日期和时间

21、系统函数----

APP_NAME() --函数返回当前执行的应用程序的名称

COALESCE() --函数返回众多表达式中第一个非NULL 表达式的值

COL_LENGTH(<'table_name'>, <'column_name'>) --函数返回表中指定字段的长度值COL_NAME(, ) --函数返回表中指定字段的名称即列名DATALENGTH() --函数返回数据表达式的数据的实际长度

DB_ID(['database_name']) --函数返回数据库的编号

DB_NAME(database_id) --函数返回数据库的名称

HOST_ID() --函数返回服务器端计算机的名称

HOST_NAME() --函数返回服务器端计算机的名称

IDENTITY([, seed increment]) [AS column_name])

--IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中

/*select identity(int, 1, 1) as column_name

into newtable

from oldtable*/

ISDATE() --函数判断所给定的表达式是否为合理日期

ISNULL(, ) --函数将表达式中的NULL 值用指定值替换

ISNUMERIC() --函数判断所给定的表达式是否为合理的数值

NEWID() --函数返回一个UNIQUEIDENTIFIER 类型的数值

NULLIF(, )

--NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回expression1 的值

22、数学函数

1.绝对值

S:select abs(-1) value

O:select abs(-1) value from dual

2.取整(大)

S:select ceiling(-1.001) value

O:select ceil(-1.001) value from dual

3.取整(小)

S:select floor(-1.001) value

O:select floor(-1.001) value from dual

4.取整(截取)

S:select cast(-1.002 as int) value

O:select trunc(-1.002) value from dual

5.四舍五入

S:select round(1.23456,4) value 1.23460

O:select round(1.23456,4) value from dual 1.2346

6.e为底的幂

S:select Exp(1) value 2.7182818284590451

O:select Exp(1) value from dual 2.71828182

7.取e为底的对数

S:select log(2.7182818284590451) value 1

O:select ln(2.7182818284590451) value from dual; 1

8.取10为底对数

S:select log10(10) value 1

O:select log(10,10) value from dual; 1

9.取平方

S:select SQUARE(4) value 16

O:select power(4,2) value from dual 16

10.取平方根

S:select SQRT(4) value 2

O:select SQRT(4) value from dual 2

11.求任意数为底的幂

S:select power(3,4) value 81

O:select power(3,4) value from dual 81

12.取随机数

S:select rand() value

O:select sys.dbms_random.value(0,1) value from dual;

13.取符号

S:select sign(-8) value -1

O:select sign(-8) value from dual -1

----------数学函数

14.圆周率

S:SELECT PI() value 3.1415926535897931

O:不知道

15.sin,cos,tan 参数都以弧度为单位

例如:select sin(PI()/2) value 得到1(SQLServer)

16.Asin,Acos,Atan,Atan2 返回弧度

17.弧度角度互换(SQLServer,Oracle不知道) DEGREES:弧度-〉角度

RADIANS:角度-〉弧度

---------数值间比较

18. 求集合最大值

S:select max(value) value from

(select 1 value

union

select -2 value

union

select 4 value

union

select 3 value)a

O:select greatest(1,-2,4,3) value from dual

19. 求集合最小值

S:select min(value) value from

(select 1 value

union

select -2 value

union

select 4 value

union

select 3 value)a

O:select least(1,-2,4,3) value from dual

20.如何处理null值(F2中的null以10代替)

S:select F1,IsNull(F2,10) value from Tbl

O:select F1,nvl(F2,10) value from Tbl

--------数值间比较

21.求字符序号

S:select ascii('a') value

O:select ascii('a') value from dual

22.从序号求字符

S:select char(97) value

O:select chr(97) value from dual

23.连接

S:select '11'+'22'+'33' value

O:select CONCAT('11','22')||33 value from dual

23.子串位置--返回3

S:select CHARINDEX('s','sdsq',2) value

O:select INSTR('sdsq','s',2) value from dual

23.模糊子串的位置--返回2,参数去掉中间%则返回7

S:select patindex('%d%q%','sdsfasdqe') value

O:oracle没发现,但是instr可以通过第四霾问 刂瞥鱿执问?BR> select INSTR('sdsfasdqe','sd',1,2) value from dual 返回6

24.求子串

S:select substring('abcd',2,2) value

O:select substr('abcd',2,2) value from dual

25.子串代替返回aijklmnef

S:SELECT STUFF('abcdef', 2, 3, 'ijklmn') value

O:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual

26.子串全部替换

S:没发现

O:select Translate('fasdbfasegas','fa','我' ) value from dual

27.长度

S:len,datalength

O:length

28.大小写转换lower,upper

29.单词首字母大写

S:没发现

O:select INITCAP('abcd dsaf df') value from dual

30.左补空格(LPAD的第一个参数为空格则同space函数)

S:select space(10)+'abcd' value

O:select LPAD('abcd',14) value from dual

31.右补空格(RPAD的第一个参数为空格则同space函数)

S:select 'abcd'+space(10) value

O:select RPAD('abcd',14) value from dual

32.删除空格

S:ltrim,rtrim

O:ltrim,rtrim,trim

33. 重复字符串

S:select REPLICATE('abcd',2) value

O:没发现

34.发音相似性比较(这两个单词返回值一样,发音相同)

S:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe')

O:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dual

SQLServer中用SELECT DIFFERENCE('Smithers', 'Smythers') 比较soundex的差返回0-4,4为同音,1最高

23、日期函数

35.系统时间

S:select getdate() value

O:select sysdate value from dual

36.前后几日

直接与整数相加减

37.求日期

S:select convert(char(10),getdate(),20) value

O:select trunc(sysdate) value from dual

select to_char(sysdate,'yyyy-mm-dd') value from dual

38.求时间

S:select convert(char(8),getdate(),108) value

O:select to_char(sysdate,'hh24:mm:ss') value from dual

39.取日期时间的其他部分

S:DATEPART 和DATENAME 函数(第一个参数决定)

O:to_char函数第二个参数决定

参数---------------------------------下表需要补充

year yy, yyyy

quarter qq, q (季度)

month mm, m (m O无效)

dayofyear dy, y (O表星期)

day dd, d (d O无效)

week wk, ww (wk O无效)

weekday dw (O不清楚)

Hour hh,hh12,hh24 (hh12,hh24 S无效)

minute mi, n (n O无效)

second ss, s (s O无效)

millisecond ms (O无效)

----------------------------------------------

40.当月最后一天

S:不知道

O:select LAST_DAY(sysdate) value from dual

41.本星期的某一天(比如星期日)

S:不知道

O:SELECT Next_day(sysdate,7) vaule FROM DUAL;

42.字符串转时间

S:可以直接转或者select cast('2004-09-08'as datetime) value

O:SELECT To_date('2004-01-05 22:09:38','yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL;

43.求两日期某一部分的差(比如秒)

S:select datediff(ss,getdate(),getdate()+12.3) value

O:直接用两个日期相减(比如d1-d2=12.3)

SELECT (d1-d2)*24*60*60 vaule FROM DUAL;

44.根据差值求新的日期(比如分钟)

S:select dateadd(mi,8,getdate()) value

O:SELECT sysdate+8/60/24 vaule FROM DUAL;

45.求不同时区时间

S:不知道

O:SELECT New_time(sysdate,'ydt','gmt' ) vaule FROM DUAL;

-----时区参数,北京在东8区应该是Ydt-------

AST ADT 大西洋标准时间

BST BDT 白令海标准时间

CST CDT 中部标准时间

EST EDT 东部标准时间

GMT 格林尼治标准时间

HST HDT 阿拉斯加—夏威夷标准时间

MST MDT 山区标准时间

NST 纽芬兰标准时间

PST PDT 太平洋标准时间

YST YDT YUKON标准时间

SQL常用命令使用方法:

SQL常用命令使用方法: (1) 数据记录筛选: sql="select * from 数据表where 字段名=字段值order by 字段名" sql="select * from 数据表where 字段名like ‘%字段值%‘order by 字段名" sql="select top 10 * from 数据表where 字段名order by 字段名" sql="select * from 数据表where 字段名in (‘值1‘,‘值2‘,‘值3‘)" sql="select * from 数据表where 字段名between 值1 and 值2" (2) 更新数据记录: sql="update 数据表set 字段名=字段值where 条件表达式" sql="update 数据表set 字段1=值1,字段2=值2 ……字段n=值n where 条件表达式" (3) 删除数据记录: sql="delete from 数据表where 条件表达式" sql="delete from 数据表" (将数据表所有记录删除) (4) 添加数据记录: sql="insert into 数据表(字段1,字段2,字段3 …)valuess (值1,值2,值3 …)" sql="insert into 目标数据表select * from 源数据表" (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数: AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法: sql="select sum(字段名) as 别名from 数据表where 条件表达式" set rs=conn.excute(sql) 用rs("别名") 获取统的计值,其它函数运用同上。 (5) 数据表的建立和删除: CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) ……) 例:CREATE TABLE tab01(name varchar(50),datetime default now()) DROP TABLE 数据表名称(永久性删除一个数据表) 4. 记录集对象的方法: rs.movenext 将记录指针从当前的位置向下移一行 rs.moveprevious 将记录指针从当前的位置向上移一行 rs.movefirst 将记录指针移到数据表第一行 rs.movelast 将记录指针移到数据表最后一行 rs.absoluteposition=N 将记录指针移到数据表第N行 rs.absolutepage=N 将记录指针移到第N页的第一行 rs.pagesize=N 设置每页为N条记录 rs.pagecount 根据pagesize 的设置返回总页数 rs.recordcount 返回记录总数 rs.bof 返回记录指针是否超出数据表首端,true表示是,false为否 rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否 rs.delete 删除当前记录,但记录指针不会向下移动 rs.addnew 添加记录到数据表末端 rs.update 更新数据表记录 判断所填数据是数字型 if not isNumeric(request("字段名称")) then response.write "不是数字" else response.write "数字" end if -------------------------------------------------------------------------------- simpleli 于2002-03-23 15:08:45 加贴在ASP论坛上

常用SQL语句大全

常用SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 DROP database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 DROP table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname DROP primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:DROP index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:DROP view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词

整理的SQL常用函数

create table test (id int, value varchar(10)) insertinto test values('1','aa') insertinto test values('1','bb') insertinto test values('2','aaa') insertinto test values('2','bbb') insertinto test values('2','ccc') insertinto test values('3','aa') insertinto test values('4','bb') select*from test select id, [values] =stuff((select','+ [values] from test t where id = test.id forxmlpath('')), 1 , 1 ,'') from test groupby id stuff(param1,startIndex,length, param2) 说明:将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用param2替换删掉的字符。*/

COUNT()函数用于返回一个列内所有非空值的个数,这是一个整型值。 由于COUNT(*)函数会忽略NULL值,所以这个查询的结果是2。 三、SUM()函数 SUM()函数是最常用的聚合函数之一,它的功能很容易理解:和AVG()函数一样,它用于数值数据类型,返回一个列范围内所有非空值的总和。 四、CAST()函数 CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。 以下例子用于将文本字符串'123'转换为整型: SELECT CAST('123' AS int) 返回值是整型值123。 如果试图将一个代表小数的字符串转换为整型值,又会出现什么情况呢? SELECT CAST('123.4' AS int) CAST()函数和CONVERT()函数都不能执行四舍五入或截断操作。由于123.4不能用int数据类型来表示,所以对这个函数调用将产生一个错误。 Server: Msg 245, Level 16, State 1, Line 1 Syntax error converting the varchar value '123.4' to a column of data type int. 在将varchar值'123.4' 转换成数据类型int时失败。 要返回一个合法的数值,就必须使用能处理这个值的数据类型。对于这个例子,存在多个可用的数据类型。如果通过CAST()函数将这个值转换为decimal类型,需要首先定义decimal 值的精度与小数位数。在本例中,精度与小数位数分别为9与2。精度是总的数字位数,包括小数点左边和右边位数的总和。而小数位数是小数点右边的位数。这表示本例能够支持的最大的整数值是9999999,而最小的小数是0.01。 SELECT CAST('123.4' AS decimal(9,2)) decimal数据类型在结果网格中将显示有效小数位:123.40 精度和小数位数的默认值分别是18与0。如果在decimal类型中不提供这两个值,SQL Server 将截断数字的小数部分,而不会产生错误。 SELECT CAST('123.4' AS decimal) 结果是一个整数值:123 五、CONVERT()函数 对于简单类型转换,CONVERT()函数和CAST()函数的功能相同,只是语法不同。 CAST()函数一般更容易使用,其功能也更简单。 CONVERT()函数的优点是可以格式化日期和数值,它需要两个参数:第1个是目标数据类型,第2个是源数据。 CONVERT()函数还具有一些改进的功能,它可以返回经过格式化的字符串值,且可以把日期值格式化成很多形式。有28种预定义的符合各种国际和特殊要求的日期与时间输出格式。 六、STR()函数 这是一个将数字转换为字符串的快捷函数。这个函数有3个参数:数值、总长度和小数位数。如果数字的整数位数和小数位数(要加上小数点占用的一个字符)的总和小于总长度,对结果中左边的字符将用空格填充。在下面第1个例子中,包括小数点在内一共是5个字符。结果

SQL常用命令汇总

SQL常用命令汇总 SQL是结果化查询语言(Structured Query Language)的缩写,其功能包括数据查询、数据定义、数据操纵和数据控制四个部分。SQL简洁、功能齐全,已成为目前应用最广的关系数据库语言。 一、SQL的发展及标准化 1.SQL的发展 SQL是当前最为成功、应用最为广泛的关系数据库语言,其发展主要经历了以下几个阶段; (1)1974年,由Chamberlin和Boyce提出,当时称为SEQUEL(Structured English Query Language); (2)1976年,IBM公司对SEQUEL进行了修改,并将其用于本公司的SYSTEM R关系数据库系统中; (3)1981年,推出了商用关系数据库SQL/DS,并将其名字改为SQL,由于SQL功能强大,简洁易用,因此得到了广泛的应用; (4)今天,SQL广泛应用于各种大型数据库,如Sybase,INFORMIX,SQL Server,Oracle,DB2,INGRES等,也用于各种小型数据库,如FoxPro,Access等。 2.SQL标准化 随着关系数据库系统和日益广泛,SQL的标准化工作也在紧张地进行着,二十多年来已制订了多个SQL标准:SQL-86,SQL-89,SQLL2和SQL-99。 二、SQL的基本概念 1.基本表——一个关系对应一个表。基本表是独立存在的表,不是由其他的表导出的 表。 2.视图——是一个或几个基本表导出的表,是一个虚拟的表。它本身不独立存在于数 据中,数据库中只存放视图对应的数据,这些数据仍存放在导出视图的基本表中。 当基本表中的数据发生变化时,从视图中查询出来的数据也随之改变。 三、SQL的主要特点 SQL有如下几个特点。 (1)SQL是类似于英语的自然语言,简洁易用。 (2)SQL是一种非过程语言。 (3)SQL是一种面向集合的语言。 (4)SQL既是自含式语言,又是嵌入式语言;可独立使用,也可以嵌入到宿主语言中。 (5)SQL是数据库查询(Query)、数据定义(Definition)、数据操纵(Manipulation)和数据控制(Control)四种功能。 创建数据表 语法格式:CREA TE TABLE<表名>(<列定义>[{,<列定义>|<表约束>}]) 例:create table s(xingm c(8),xueh c(8),chengj c(3)) 结果:

DB2_SQL常用函数

DB2函数大全 函数名函数解释函数举例 AVG() 返回一组数值的平均值. SELECTAVG(SALARY)FROMBSEMPMS; CORR(),CORRELATION() 返回一对数值的关系系数. SELECT CORRELATION(SALARY,BONUS)FROM BSEMPMS; COUNT() 返回一组行或值的个 数.SELECTCOUNT(*)FROMBSEMPMS; COVAR(),COVARIANCE() 返回一对数值的协方差. SELECTCOVAR(SALARY,BONUS)FROMBSEMPMS; MAX() 返回一组数值中的最大值. SELECTMAX(SALARY)FROMBSEMPMS; MIN() 返回一组数值中的最小值. SELECTMIN(SALARY)FROMBSEMPMS; STDDEV() 返回一组数值的标准偏差. SELECTSTDDEV(SALARY)FROMBSEMPMS; SUM() 返回一组数据的和. SELECTSUM(SALARY)FROMBSEMPMS; VAR(),VARIANCE() 返回一组数值的方差. SELECTVARIANCE(SALARY)FROMBSEMPMS; ABS(),ABSVAL() 返回参数的绝对值. SELECTABS(-3.4)FROMBSEMPMS; ACOS() 返回参数的反余弦值. SELECTACOS(0.9)FROMBSEMPMS; ASCII() 返回整数参数最左边的字符的ASCII码. SELECTASCII('R')FROMBSEMPMS; ASIN() 返回用弧度表示的角度的参数的反正弦函数. SELECTASIN(0.9)FROMBSEMPMS; ATAN() 返回参数的反正切值,该参数用弧度表示的角度的参数. SELECTATAN(0.9)FROMBSEMPMS; ATAN2() 返回用弧度表示的角度的X和Y坐标的反正切值. SELECTATAN2(0.5,0.9)FROMBSEMPMS;

面试数据库常用操作语句

数据库复习资料准备 1、创建/删除数据库:Create/ Drop database name 2、创建新表:Create table name(id int not null primary key, name char(20)) // 带主键 Create table name(id int not null, name char(20), primary key (id, name)) // 带复合主键Create table name(id int not null default 0, name char(20)) // 带默认值 3、删除表:Drop table name 4、表中添加一列:Alter table name add column size int 5、添加/删除主键:Alter table name add/drop primary key(size) 6、创建索引:Create [unique] index idxname on tabname(col) 7、删除索引:Drop index idxname 8、选择:Select *from table where 范围 9、删除重复记录Delete from name where id not in (select max(id) from name group by col1) 10、插入:Insert into table(field1, field2) values (value1, value) 11、删除:Delete from table where 范围 12、更新:Update table set field=value where 范围 13、查找:Select *from table where field like “” 14、排序:Select *from table order by field [desc] 15、总数:Select count as totalcount from table 16、求和:Select sum(field) as sumvalue from table 17、平均:Select avg(field) as avgvalue from table 18、最大:Select max(field) as maxvalue from table 19、最小:Select min(field) as minvalue from table 20、复制表:Select * into b from a where 范围Select top 0 * into b from a where 范围 21、拷贝表:Insert into b(a, b, c) select d,e,f from b; 22、子查询: select ename from emp where deptno=(select deptno from dept where loc='NEW');// 单查询select ename from emp where deptno in (select deptno from dept where dname like 'A%');// 多行子查询 select deptno,ename ,sal from emp where (deptno,sal) IN (select deptno,MAX(sal) from emp group by deptno);// 多列子查询 23、外连接查询:Select a.a, a.b, a.c, b.c, b.d, b.f from a left out join b on a.a = b.c 24、between用法:Select a,b,c, from table where a not between 数值1 and 数值2 25、in用法:select * from table1 where a [not] in (‘值1’,‘值2’,‘值4’,‘值6’) 26、两张关联表,删除主表中在副表中没有的信息:delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1) 27、日程提前五分钟提醒:select * from 日程where datediff(‘minute‘,f开始时间,getdate())>5 28、前10条记录:select top 10 * form table1 where 范围 29、包括所有在TableA 中但不在TableB和TableC 中的行:select a from tableA except (select a from tableB) except (select a from tableC) 30、随机取出10条数据:select top 10 * from tablename order by newid() 31、列出数据库里所有的表名:select name from sysobjects where type=‘U’ 32、列出表里的所有的字段:select name from syscolumns where id=object_id(‘TableName’)

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

在Oracle中 可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。 其语法为: instr(sourceString,destString,start,appearPosition). instr('源字符串' , '目标字符串' ,'开始位置','第几次出现') 其中sourceString代表源字符串; destString代表想聪源字符串中查找的子串; start代表查找的开始位置,该参数可选的,默认为1; appearPosition代表想从源字符中查找出第几次出现的destString,该参数也是可选的,默认为1; 如果start的值为负数,那么代表从右往左进行查找,但是位置数据仍然从左向右计算。 返回值为:查找到的字符串的位置。 对于instr函数,我们经常这样使用:从一个字符串中查找指定子串的位置。例如:SQL> select instr('yuechaotianyuechao','ao') position from dual; POSITION ---------- 6 从第7个字符开始搜索 SQL> select instr('yuechaotianyuechao','ao', 7) position from dual; POSITION ---------- 17 从第1个字符开始,搜索第2次出现子串的位置 SQL> select instr('yuechaotianyuechao','ao', 1, 2) position from dual; POSITION ---------- 17 注意:1。若‘起始位置’=0 时返回结果为0, 2。这里只有三个参数,意思是查找第一个要查找字符的位置(因为‘第几次出现’默认为1), 当‘起始位置’不大于要查找的第一个字符的位置时,返回的值都将是第一个字符的位置,如果‘起始位置’大于要查找的第一个字符的位置时,返回的值都将是第2个字符的位置,依此类推……(但是也是以第一个字符开始计数)

SQL Server2000常用语句

SQL Server 2000常用命令,语法使用方法 (1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]" sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 in ('值1','值2','值3')" sql="select * from 数据表 where 字段名 between 值1 and 值2" (2) 更新数据记录: sql="update 数据表 set 字段名=字段值 where 条件表达式" sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式" (3) 删除数据记录: sql="delete from 数据表 where 条件表达式" sql="delete from 数据表" (将数据表所有记录删除) (4) 添加数据记录: sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)" sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数: AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法:

plsql常用函数

PLSQL常用函数 1)处理字符的函数 || CONCAT ---并置运算符。 格式∶CONCAT(STRING1, STRING2) 例:’ABC’|| ’DE’=’ABCDE’ CONCAT(‘ABC’,’DE’) =’ABCDE’ INSTR---搜索子串位置 格式∶INSTR(STRING , SET[ , 开始位置[ , 出现次数]]) 例∶ INSTR (‘this is a test’ , ‘i’ , 1,2)=6 LENGTH----计算串长 格式∶ LENGTH(string) LTRIM,RTRIM,TRIM -----左截断,右截断,左右截断。默认为删除空格。 格式∶ LTRIM(STRING[,‘SET’]) 例∶ LTRIM(‘***tes*t***’,’*’)=’tes*t***’ LOWER----将字符串转换为小写 格式∶LOWER(string) UPPER---将字符串转换为大写 格式∶UPPER(string) SUBSTR----提取子串。START为正数时从左开始、为负数时从右开始 格式∶ SUBSTR(STRING , START [ , COUNT]) 例∶ SUBSTR(‘WORDSTAR’ , 2 , 3)=’ ORD’ REPLACE---搜索指定字符串并替换 格式∶REPLACE(string , substring , replace_string) 例∶ REPLACE(‘this is a test’ , ‘this’ , ‘that an’)=’that an is a test’

2)处理数字的函数 ROUND---返回固定小数位数。 格式∶ROUND (value)value为数字 例∶ROUND (66.123,2)= 66.12 CELL---返回大于等于特定值的最小整数 格式∶CELL(value) 例∶ CELL(-10,9)= -10 3)处理日期 SYSDATE---系统时间。精确至秒 例:TO_CHAR(SYSDATE,'YYYY-MM-DD') 2011-05-11(返回日期) TO_CHAR(SYSDATE,'YYYY-MM-DD HH:MI:SS') 2011-05-11 11:05:15(返回日期+时间) 常用日期数据格式 Y或YY或YYY 年的最后一位,两位或三位Select to_char(sysdate,’YYY’) from dual; SYEAR或YEAR SYEAR使公元前的年份前加一负号Select to_char(sysdate,’SYEAR’) from dua l;-1112表示公元前111 2年 Q 季度,1~3月为第一季度Select to_char(sysdate,’Q’) from dual;2表示第二季度① MM 月份数Select to_char(sysdate,’MM’) from dual;12表示12月 RM 月份的罗马表示Select to_char(sysdate,’RM’) from dual;IV表示4月 Month 用9个字符长度表示的月份名Select to_char(sysdate,’Month’) from dual;May后跟6个空格表示5月 WW 当年第几周Select to_char(sysdate,’WW’) from dual;24表示2002年6月13日为第24周W 本月第几周Select to_char(sysdate,’W’) from dual;2002年10月1日为第1周 DDD 当年第几, 1月1日为001,2月1日为032 Select to_char(sysdate,’DDD’) from dual;36 3 2002年1 2月2 9日为第363天 DD 当月第几天Select to_char(sysdate,’DD’) from dual;04 10月4日为第4天 D 周内第几天Select to_char(sysdate,’D’) from dual;5 2002年3月14日为星期一 DY 周内第几天缩写Select to_char(sysdate,’DY’) from dual;SUN 2002年3月24日为星期天

数据库常用函数

数据库常用函数

一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份和还原 备份:exp dsscount/sa@dsscount owner=dsscount file=C:\dsscount_data_backup\dsscount.dmp log=C:\dsscount_data_backup\outputa.log 还原:imp dsscount/sa@dsscount file=C:\dsscount_data_backup\dsscount.dmp full=y ignore=y log=C:\dsscount_data_backup\dsscount.log statistics=none 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) CREATE TABLE ceshi(id INT not null identity(1,1) PRIMARY KEY,NAME VARCHAR(50),age INT) id为主键,不为空,自增长 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键: Alter table tabname add primary key(col) 说明:删除主键: Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围

SQL常用增删改查语句

SQLSQL常用增删改查语句 作者:hiker 一.Insert 插入语句 1.Insert into 表名(列名)values (对应列名值) //插入一行. 2.Insert into 新表名(列名) Select (列名) 旧表名 3.Select 旧表名.字段… Into 新表名from 旧表名 4.Select identity ( 数据类型,标识种子,标识增长量) as 列名 Into新表名 From 旧表名 5.Insert 表名(列名) Select (对应列名值) union Select (对应列名值) union Select (对应列名值) 二.Update 更新语句 1.Update 表名set 列名=’更新值’ where 更新条件 三.delete 删除语句 1.delete from 表名where 删除条件 2.truncate table 表名//删除表中所有行 四.select 基本查询语句 1.select 列名from 表名where 查询条件 order by 排序的列名asc或desc升/降 2.select 列名as 别名from 表名where 查询条件 3.select 列名from 表名where 列名is null //查询空值 4.select 列名, ‘常量值’ as 别名from 表名//查询时定义输出一列常量值 5.select top 5 列名from 表名//查询前5行 6.select top 5 percent 列名from 表名//查询前百分之5的数据行 五.select 函数查询语句 1.select LEN(Class_Name)from Class //查询class_Name字符串长度 2.select upper(Class_Name)from Class //查询class_Name并转换为大写 3.ltrim和rtrim //清除字符串左右空格 4.select REPLACE(card_No,'0','9')from CardRecord//修改列中字符串中的字符 列名字符串中0修改为9 5.select STUFF(Card_No,2,3,'8888')from CardRecord 列名字符串中第2个开始删除3个字符,再从第二个开始插入8888字符串 6.select GETDATE()//显示系统日期

SQL常用语句及函数方法

1、通常用到的字符串转日期格式 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06 Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16 Select CONVERT(varchar(100), GETDATE(), 12): 060516 Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937 Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967 Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47 Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157 Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47

常用sql操作总结_尚硅谷_宋红康

SQL语句的多表查询方式 例如:按照department_id查询employees(员工表)和departments(部门表) 的信息。 方式一(通用型):SELECT ... FROM ... WHERE SELECT https://www.wendangku.net/doc/d68718860.html,st_name,e.department_id,d.department_name FROM employees e,departments d where e.department_id = d.department_id 方式二:SELECT ... FROM ... NATURAL JOIN ... 有局限性:会自动连接两个表中相同的列(可能有多个:department_id和manager_id) SELECT last_name,department_id,department_name FROM employees NATURAL JOIN departments 方式三:SELECT ... JOIN ... USING ... 有局限性:好于方式二,但若多表的连接列列名不同,此法不合适 SELECT last_name,department_id,department_name FROM employees JOIN departments USING(department_id) 方式四:SELECT ... FROM ... JOIN ... ON ... 常用方式,较方式一,更易实现外联接(左、右、满) SELECT last_name,e.department_id,department_name FROM employees e JOIN departments d ON e.department_id = d.department_id --内连接 1) --等值连接 --不等值连接 2) --非自连接 --自连接 --外连接 --左外连接、右外连接、满外连接

mssql常用函数

MS SQL 常用函数 一、字符转换函数 1、ASCII() 返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用…?括起来,但含其它字符的字符串必须用…?括起来使用,否则会出错。 2、CHAR() 将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR()返回NULL 。 3、LOWER()和UPPER() LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。 4、STR() 把数值型数据转换为字符型数据。 STR ([,length[,]]) length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10,decimal 缺省值为0。 当length 或者decimal 为负值时,返回NULL; 当length 小于小数点左边(包括符号位)的位数时,返回length 个*; 先服从length ,再取decimal ; 当返回的字符串位数小于length ,左边补足空格。 二、去空格函数 1、LTRIM() 把字符串头部的空格去掉。 2、RTRIM() 把字符串尾部的空格去掉。 三、取子串函数 1、left() LEFT () 返回character_expression左起integer_expression个字符。

2、RIGHT() RIGHT () 返回character_expression右起integer_expression个字符。 3、SUBSTRING() SUBSTRING (,length) 返回从字符串左边第starting_ position 个字符起length个字符的部分。 四、字符串比较函数 1、CHARINDEX() 返回字符串中某个指定的子串出现的开始位置。 CHARINDEX () 其中substring _expression 是所要查找的字符表达式,expression 可为字符串也可为列名表达式。如果没有发现子串,则返回0 值。 此函数不能用于TEXT 和IMAGE 数据类型。 2、PATINDEX() 返回字符串中某个指定的子串出现的开始位置。 PATINDEX ()其中子串表达式前后必须有百分号“%”否则返回值为0。 与CHARINDEX 函数不同的是,PATINDEX函数的子串中可以使用通配符,且此函数可用于 CHAR、VARCHAR 和TEXT 数据类型。 五、字符串操作函数 1、QUOTENAME() 返回被特定字符括起来的字符串。 QUOTENAME ([,quote_ character]) 其中quote_ character 标明括字符串所用的字符,缺省值为“[]”。 2、REPLICATE()

相关文档