第三天 -- 《2014-07-08 ADO》1 -- SQL Server 字符串函数、数学函数、日期函数

一、上午  《02、字符串函数》-- 用到时候查一查

1、CHARINDEX函数

查询指定的字符在源字符串的起始位置:位置从1开始计算,如果找不到就返回0

select CHARINDEX('人民',  '中华人民共和国',  4)        --返回0。   在'中华人民共和国'中,从第四个字符开始,查找 ‘人民’,返回起始位置。

2、LEN(源字符串):  得到指定的字符串的个数

3、UPPER(源字符串)  、  LOWER(源字符串)   把大写/小写  英文字母 转为小写/大写 

4、LTRIM(源字符串)  、  RTRIM(源字符串)  去掉左空格/右空格

select  RTRIM(LTRIM('         sdfsadf           '))+'123'

5、RIGHT(源字符串, 取几个字符) 、 LEFT(源字符串, 取几个字符)  可以从指定的字符串右边/左边 开始返回指定数目的字符串.数量可以指定任意的正值,但是不可是负值

select RIGHT('中华人民共和国',  3);    --返回‘共和国’
select LEFT('中华人民共和国',  30);   --返回‘中华人民共和国’,最多取30个,不够就不够呗

6、SUBSTRING(源字符串, 开始位置, 取几个字符)

select SUBSTRING('中华sdfdsfsdf人民共和国',    CHARINDEX('人民','中华sdfdsfsdf人民共和国'),      2)

7、REPLACE(源字符串, 查找的子串, 替换成啥)

select REPLACE('中华人民共和国',   '人民',   'person')      -- 把'人民'替换成person

8、STUFF(源字符串, 开始位置,替换几个字符, 替换成啥):

select STUFF('中华人民共和国',   3,    2,    'person')         -- 把'人民'替换成person

 

 

 

二、上午  《03、数学函数》-- 用到时候查一查

1、RAND可以生成一个0~1之前的随机数,包含0,但是不包含1
select RAND()
2、ABS绝对值函数
select ABS(-100)
3、CEILING:获取比当前数大的最小整数--分页会用到(比如总共有17条记录,一页显式5条)
select CEILING(0.0001)   --结果是1
4、FLOOR:获取比当前数小的最大整数
select FLOOR(0.9999999)     --结果是0
5、POWER: 几次幂
select POWER(2, 3)   --结果2的三次幂 即8
6、ROUND 四舍五入.只关注你指定的小数位后一位数值
select ROUND(1.449,  2)   --结果1.400,,就是把小数点后的第二位4进行四舍五入。
7、SIGN:取数值的符号。 正值=1   负值=-1    0=0
select SIGN(-100)
8、SQRT 开平方
select SQRT(8)

 

 


三、上午  《04、日期函数》-- 用到时候查一查

1、GETDATE() 获取当前系统日期

select GETDATE()

2、DATEADD()  在指定的日期值上增加指定的日期值(正负数都可以)
select DATEADD(mm,  3,  getdate())    -- 三个月后那天
select DATEADD(dd,  40,  getdate())   -- 四十天后那天
--三个月之前的那一天、
select DATEADD(mm,  -3,  getdate())

3、DATEDIFF --获取两个指定日期之前的差异值(different)
select StudentNo,StudentName,DATEDIFF(yyyy,  BornDate,  getdate()) from Student
--查询年龄在15~20之前的女生信息
select StudentName,Phone,Address from Student where DATEDIFF(yyyy,  borndate,  getdate()) between 15 and 20 and Sex='女'

select DATEDIFF(ss,  '1995-6-25',  getdate())   -- ss表示秒单位,,dd表示天单位

4、DATENAME()得到日期的字符串部分
select DATENAME(WEEKDAY,  getdate())

5、DATEPART
select DATEPART(yyyy,getdate())

 

6、datepart  时间单位缩写

datepart

 

缩写形式

 

year

 

yy, yyyy

 

quarter季度

 

qq, q

 

month

 

mm, m

 

dayofyear

一年中的第几天

 

dy, y

 

day日期

 

dd, d

 

week周

 

wk, ww

 

weekday

一周中的第几天

 

dw, w

 

hour

hh

minute

 

mi, n

 

second

 

ss, s

 

millisecond

ms

microsecond微秒

mcs

nanosecond纳秒

ns

 

posted on 2017-07-24 10:13  困兽斗  阅读(158)  评论(0)    收藏  举报

导航