第三天 -- 《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 |
浙公网安备 33010602011771号