字符串函数

lower(字符串表达式) | select lower('ABCDEF')返回 abcdef | 返回大写字符数据转换为小写的字符表达式。

upper(字符串表达式) | select upper('abcdef')返回 ABCDEF | 返回小写字符数据转换为大写的字符表达式。

ltrim(字符串表达式) | select ltrim('    abc')返回 abc | 返回删除了前导空格之后的字符表达式。

rtrim(字符串表达式) | select rtrim('abc    ')返回 abc | 返回删除了尾随空格之后的字符表达式。

left(字符串表达式,整数表达式) | select left('abcdefg',2) 返回 ab | 返回字符串中从左边开始指定个数的字符。

right(字符串表达式,整数表达式) | select right('abcdefg',2) 返回fg | 返回字符串中从右边开始指定个数的字符。

substring(字符串表达式,开始位置,长度) | select substring('abcdef',2,2)返回bc | 返回子字符串

len(字符串表达式) | select len('abcdefg')返回 7  select len('abcdefg     ') 返回7 | 返回指定字符串表达式的字符数,其中不包含尾随空格。

difference(字符串表达式1,字符串表达式2) | select difference('Green','Greene')返回4 |
返回一个0到4的整数值,指示两个字符表达式的之间的相似程度。0 表示几乎不同或完全不同,4表示几乎相同或完全相同。注意相似并不代表相等 space(整数表达式) | select 'a'+space(2)+'b' 返回 a b | 返回由指定数目的空格组成的字符串 str(float型小数[,总长度[,小数点后保留的位数]])|
eg:
select str(123.451)返回 123(123前面有空格)
select str(123.451,3)返回123
select str(123.451,7,3)返回123.451
select str(123.451,7,1)返回123.5
select str(123.451,5,3)返回123.5
select str(123.651,2)返回**
返回由数字转换成的字符串。返回字符数不到总长度的前面补空格,超过总长度的截断小数位。如果需要截断整数位则返回**。
注意在截断时遵循四舍五入
总长度。它包括小数点、符号、数字以及空格。默认值为 10。
小数点后最多保留16位。默认不保留小数点后面的数字

字符串函数

日期时间函数

dateadd(日期部分,数字,日期) | select dateadd(year,45,'1990-12-11') //2035-12-11 00:00:00.00 | 返回给指定日期加上一个时间间隔后的新的日期值。

datediff(日期部分,开始日期,结束日期) | select datediff(yy,'1990-12-11','2008-9-10')//18 | 返回两个指定日期的指定日期部分的差的整数值。

datepart(日期部分,日期) | select datepart(mm,'2007-12-11')//12 | 返回表示指定日期的指定日期部分的整数。

getdate() | select getdate()\\2015-06-28 18:57:24.153 | 返回当前系统日期和时间。

getutcdate() | select getutcdate()\\2015-06-28 18:57:24.153 | 返回表示当前的 UTC(世界标准时间)时间。即格林尼治时间(GMT)

dateadd、datediff、datename、datepart的日期部分含义

日期部分  含义    缩写
year yy,yyyy
quarter q,qq
month m,mm
dayofyear dy,y
day dd,d
week 星期 wk,ww
hour 小时 hh
minute 分钟 mi,n
second s,ss
millisecond 毫秒 ms
---恢复内容开始---

今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0

昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=1

7天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=7

30天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30

本月的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate())=0

本年的所有数据:select * from 表名 where DateDiff(yy,datetime类型字段,getdate())=0

查询今天是今年的第几天: select datepart(dayofyear,getDate())

查询今天是本月的第几天:1. select datepart(dd, getDate())  

                                                2.select day(getDate())

查询本周的星期一日期是多少 (注意:指定日期不能是周日,如果是周日会计算到下周一去。所以如果是周日要减一天)
SELECT DATEADD(wk,DATEDIFF(wk,0,getdate()),0) 查询昨天日期:select convert(char,dateadd(DD,-1,getdate()),111) //111是样式号,(100-114) 查询本月第一天日期:Select DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) as firstday 查询本月最后一天日期:Select dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0)) as lastday //修改-3的值会有相应的变化 本月有多少天:select datepart(dd,dateadd(dd,-1,dateadd(mm,1,cast((cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-01' ) as datetime )))) 求两个时间段相差几天:select datediff(day,'2016/5/17','2016/8/20') as daysum 在指定的日期上±N天:select convert(char,dateadd(dd,1,'2016/8/20'),111) as riqi //输出2016/8/21 在指定的日期上±N分钟:select dateadd(mi,-15,getdate()) //查询当前时间15分钟之前的日期

SQL语句来查询今天、昨天、7天内、30天的数据

数学函数

round(数值表达式[,长度[,操作方式]])
select round(1236.555,2)\\1236.560 select round(1236.555,2,1)\\1236.550 select round(1236.555,0)\\1237.000 select round(1236.555,-1)\\1240.000 select round(1236.555,-1,1)\\1230.000 select round(1236.555,-4)\\0.000 select round(5236.555,-4)\\出现错误 select round(5236.555,-4,1)\\0.000 返回一个数值,舍入到指定的长度。注意返回的数值和原数值的总位数没有变化。 长度:舍入精度。如果长度为正数,则将数值舍入到长度指定的小数位数。如果长度为负数,则将数值小数点左边部分舍入到长度指定的长度。注意如果长度为负数,并且大于小数点前的数字个数,则将返回 0。如果长度为负数并且等于小数点前的数字个数且操作方式为四舍五入时,最前面的一位小于5返回0,大于等于5会导致错误出现,如果操作方法不是四舍五入时则不会出现错误,返回结果一律为0。 操作方式:默认为0遵循四舍五入,指定其他整数值则直接截断。 ceiling(数值表达式) | select ceiling(5.44)\\6 select ceiling(-8.44)\\-8 | 返回大于或等于指定数值表达式的最小整数。 floor(数值表达式) | select floor(5.44)\\5 select floor(-8.44)\\-9 | 返回小于或等于指定数值表达式的最大整数。 power(数值表达式1,数值表达式2) | select power(5,2)返回25 | 返回数值表达式1的数值表达式2次幂 sqrt(数值表达式) | select sqrt(25)\\5 | 返回数值表达式的平方根 abs(数值表达式) | select abs(-23.4)\\23.4 | 返回指定数值表达式的绝对值(正值) pi() | select pi()\\3.14159265358979 | 返回π的值

数学函数

数据类型转换函数

convert(数据类型[(长度)],表达式[,样式])
select convert(nvarchar,123) \\123
select  convert(nvarchar ,getdate())\\04 28 2015 10:21PM
select  convert(nvarchar ,getdate(),120)\\2009-04-28 12:22:2
将一种数据类型的表达式显式转换为另一种数据类型的表达式。
长度:如果数据类型允许设置长度,可以设置长度,例如varchar(10)
样式:用于将日期类型数据转换为字符数据类型的日期格式的样式

cast(表达式 as 数据类型[(长度)])
select cast(123 as nvarchar)\\123
select N'年龄:'+cast(23 as nvarchar)\\年龄:23
将一种数据类型的表达式显式转换为另一种数据类型的表达式。

CONVERT是专对SQL Server使用的,使日期与时间值,小数之间转换具有更宽的灵活性
CAST是两种功能中更具ANSI标准的功能,即虽然更具便携性(比如,使用CAST的函数能更容易的被其它数据库软件使用),但功能相对弱一些。

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
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM 时间格式转换

时间转换格式

引用:

http://www.cnblogs.com/ATree/archive/2011/03/08/SQL_Server_2005_substring_convert.html

SQL 数据库函数的更多相关文章

  1. [Django]模型提高部分--聚合(group by)和条件表达式+数据库函数

    前言:本文以学习记录的形式发表出来,前段时间苦于照模型聚合中group by 找了很久,官方文章中没有很明确的说出group by,但在文档中有提到!!! 正文(最后编辑于2016-11-12): 聚 ...

  2. sql 数据量高并发的数据库优化(转)

    Mysql 大数据量高并发的数据库优化 一.数据库结构的设计 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能.所以,在一个系统开始实 ...

  3. PHP学习之[第09讲]PHP 的 Mysql 数据库函数 (微型博客系统)

    一.数据库函数: mysql_connect(数据库地址,用户名,密码) mysql_select_db(数据库名) mysql_set_chartset(‘编码’) //PHP5.2.3以后的函数 ...

  4. php Mysql 和Mysqli数据库函数整合

    PHP Mysql和Mysqli数据库函数整合 服务器如果支持mysqli函数将优先mysqli函数进行数据库操作 否则将调用mysql函数进行数据库操作 用法SQL::connect(host,us ...

  5. Entity Framework 6 Recipes 2nd Edition(11-11)译 -> 在LINQ中调用数据库函数

    11-11. 在LINQ中调用数据库函数 问题 相要在一个LINQ 查询中调用数据库函数. 解决方案 假设有一个任命(Appointment )实体模型,如Figure 11-11.所示, 我们想要查 ...

  6. 批量处理sql 数据存入xml类型列

    个人记录 需求:当表T1 ItemCode和表T2 ItemName的数据相等时,将表T2所对应的ID和ItemName列的数据分别存入表T1 CAOZUO字段的id元素和text元素的文本中. 下面 ...

  7. [.NET] SQL数据总笔数查询

    [.NET] SQL数据总笔数查询 程序下载 范例下载:点此下载 原始码下载:点此下载 NuGet封装:点此下载 数据查询 开发系统时,使用C#执行SQL查询指令,就可以从SQL数据库里查询所需数据. ...

  8. [.NET] SQL数据分页查询

    [.NET] SQL数据分页查询 程序下载 范例下载:点此下载 原始码下载:点此下载 NuGet封装:点此下载 数据查询 开发系统时,使用C#执行SQL查询指令,就可以从SQL数据库里查询所需数据. ...

  9. cache应用(asp.net 2.0 SQL数据缓存依赖 [SqlCacheDependency ] )

    Asp.net 2.0 提供了一个新的数据缓存功能,就是利用sql server2005 的异步通知功能来实现缓存 1.首先在sqlserver2005 中创建一个test的数据库. 在SQL Ser ...

随机推荐

  1. 1,MongoDB简介和安装

    一.初识MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数 ...

  2. 网络编程介绍(uninx/windows)

    1.网络中进程之间如何通信? 2.Socket是什么? 3.socket的基本操作 3.1.socket()函数 3.2.bind()函数 3.3.listen().connect()函数 3.4.a ...

  3. JAVA API访问Hbase org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=32

    Java使用API访问Hbase报错: 我的hbase主节点是spark1   java代码访问hbase的时候写的是ip 结果运行程序报错 不能够识别主机名 修改主机名     修改主机hosts文 ...

  4. linux压缩和解压缩命令大全--费元星站长

    tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip ...

  5. 用scrapy数据抓取实践

    本文来自网易云社区 作者:沈高峰 数据分析中需要用到的不少数据都是需要进行抓取的,并且需要对抓取的数据进行解析之后存入数据库.scrapy是一个强大的爬虫框架,本文简单介绍下使用scrapy进行垂直抓 ...

  6. Erlang OTP设计原则Gen_Fsm行为[转]

    转自: http://www.cnblogs.com/yourihua/archive/2012/05/13/2497776.html 1. Fsm 称为 有限状态机,举个例子,游戏中的怪物称为NPC ...

  7. 如何使用malloc申请一个二位数组

    fscanf(file, "%d", &iVertexNum); // Read number of Vertices double **G = (double **)ma ...

  8. USACO Section1.2 Dual Palindromes 解题报告

    dualpal解题报告 —— icedream61 博客园(转载请注明出处)-------------------------------------------------------------- ...

  9. Linux下通过tcpdump抓包工具获取信息

    介绍 tcpdump是网络数据包截获分析工具.支持针对网络层.协议.主机.网络或端口的过滤.并提供and.or.not等逻辑语句帮助去除无用的信息. tcpdump - dump traffic on ...

  10. ipa和ironic-conductor交互

    IPA使用lookup和hearteat机制与Ironic Conductor进行交互,启动时agent给Conductor的vendor_passthru lookup endpoint(地址为/v ...