日期函数 日期函数计算表达式的日期和时间或者是从时间间隔中返回该值。T-SQL语句支持以下函数: 函数 说明 GETDATE()返回目前系统日期和时间。例:SELECT GETDATE() = 2008-01-01 13:03:31.390DATEPART(item,date)返回日期指定的item,date为一个整数。例:SELECT DATEPART(month, ‘01.01.2005’) = 1 (1 = January)SELECT DATEPART(weekday, ‘01.01.2005’) = 7 (7 = Sunday)……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
日期函数
日期函数计算表达式的日期和时间或者是从时间间隔中返回该值。T-SQL语句支持以下函数:
函数 | 说明 |
GETDATE() | 返回目前系统日期和时间。例: |
SELECT GETDATE() = 2008-01-01 13:03:31.390 | |
DATEPART(item,date) | 返回日期指定的item,date为一个整数。例: |
SELECT DATEPART(month, '01.01.2005') = 1 (1 = January) | |
SELECT DATEPART(weekday, '01.01.2005') = 7 (7 = Sunday) | |
DATENAME(item,date) | 返回日期指定的item,date为一个字符串。例: |
SELECT DATENAME(weekday, '01.01.2005') = Saturday | |
DATEDIFF(item,dat1,dat2) | 计算两个日期部分dat1 和dat2之间的区别,返回的结果为item表示单元的整数值。 |
例: | |
SELECT DATEDIFF(year, BirthDate, GETDATE()) AS age FROM employee; ->返回每个员工的年龄 | |
DATEADD(i,n,d) | 将i 值单元里的数字n 增加到指定日期d。例: |
SELECT DATEADD(DAY,3,HireDate) AS age FROM employee; ->在每个员工聘用日期的基础上增加3天(详见sample数据库) |
字符串函数
字符串函数用于处理列中的数据值,通常属于字符型数据类型。T-SQL支持以下字符串函数:
函数 | 说明 |
ASCII(character) | 将具体的字符转换为相应的整数(ASCII)代码。返回结果为正数。例: |
SELECT ASCII('A') = 65 | |
CHAR(integer) | 将ASCII代码转换为相应的字符。例: |
SELECT CHAR(65) = 'A'。 | |
CHARINDEX(z1,z2) | 返回部分字符串z1在字符串z2中首次出现的起始位置。如果z1没有在z2中出现,那么返回值就为0。例: |
SELECT CHARINDEX('bl', 'table') = 3。 | |
DIFFERENCE(z1,z2) | 返回值为0-4之间的整数,这就是z1和z2这两个字符串SOUNDEX之间的区别。SOUNDEX 返回的数字指定的是字符串的语音。这种方法能够判断有相同发音的字符串)例: |
SELECT DIFFERENCE('spelling', 'telling') = 2 (发音有些相近, 0 =发音部相同)。 | |
LEFT(z, length) | 返回字符串z 中的第一个字符长度。 |
LEN(z) | 返回指定的字符串表达式的字符个数而不是字节个数,包括后面的空格。 |
LOWER(z1) | 将字符串z1中所有的大写字母转换成小写字母。小写字母和数字以及其它的字母保持不变。例: |
SELECT LOWER('BiG') = 'big'。 | |
LTRIM(z) | 去掉字符串z 开头的空格。例: |
SELECT LTRIM(' String') = 'String'。 | |
NCHAR(i) | 返回由统一码标准定义的、有指定整数代码的统一码字符。 |
QUOTENAME(char_string) | 返回有分隔符的统一码字符串,使输入字符串变成有效分隔符。 |
PATINDEX(%p%,expr) | 返回指定表达式expr中模式p第一次出现的起始位置,如果没有找到这个模式,那么返回值就为零。例: |
1) SELECT PATINDEX('%gs%', 'longstring') = 4; | |
2) SELECT RIGHT(ContactName, LEN(ContactName)-PATINDEX('% %',ContactName)) AS First_name FROM Customers; | |
(第二个查询从customers列中返回所有名。) | |
REPLACE(str1,str2,str3) | 将所有str1中出现的str2替换为str3。例: |
SELECT REPLACE('shave' , 's' , 'be') = behave | |
REPLICATE(z,i) | 将字符串z重复i次。例: |
SELECT REPLICATE('a',10) = 'aaaaaaaaaa' | |
REVERSE(z) | 将字符串z显示为倒序。例: |
SELECT REVERSE('calculate') = 'etaluclac' | |
RIGHT(z,length) | 在字符串z 中返回最后字符的长度。例: |
SELECT RIGHT('Notebook',4) = 'book' | |
RTRIM(z) | 取消字符串z最后的空格。例: |
SELECT RTRIM('Notebook ') = 'Notebook' | |
SOUNDEX(a) | 返回四个字符的SOUNDEX 代码判断两个字符串中的相似性。例: |
SELECT SOUNDEX('spelling') = S145 | |
SPACE(length) | 返回一个字符串,length为其指定的空间长度。例: |
SELECT SPACE = ' ' | |
STR(f,[len [,d]]) | 将指定的float 表达式f转换成字符串。len 是指字符串的长度,包括小数点、正负号、数字和空格(默认值为10),d 为小数点右边的被返回的数字。例: |
SELECT STR(3.45678,4,2) = '3.46' | |
STUFF(z1,a,length,z2) | 用字符串z2中的位于a处的部分字符串代替z1中的部分字符串,代替z1中的length字符。例: SELECT STUFF('Notebook',5,0, ' in a ') = 'Note in a book' SELECT STUFF('Notebook',1,4, 'Hand') = 'Handbook' |
SUBSTRING(z,a,length) | 在字符串z中的a处创建部分字符串,length为新创建字符串的长度。例: |
SELECT SUBSTRING('wardrobe',1,4) = 'ward' | |
UNICODE | 返回由统一码定义的整数值,该值为输入表达式的第一个字符。 |
UPPER(z) | 将字符串z中的所有小写字母转换成大写字母。大写字母和数字不变。例: |
SELECT UPPER('loWer') = 'LOWER' |
翻译
相关推荐
-
SQL Server 2008将退出微软主流数据库支持
你的企业是否还在运行SQL Server 2008?请注意微软为SQL Server 2008提供的主流技术支持服务将于今年的7月8日正式结束。
-
SQL Server 2008中的对称密钥加密
证书和非对称密钥使用数据库级的内部公钥加密数据,并且使用数据库级内部私钥解密数据。而对称密钥相对简单,它们包含一个同时用来加密和解密的密钥。
-
通过PassPhrase对SQL Server 2008加密
与数字证书类似,SQL Server 证书包括公钥和私钥这一对密钥,它们都用来加密和解密数据。SQL Server也拥有创建非对称密钥和对称密钥对象的能力。
-
SQL Server 2008存储过程加密与安全上下文
使用存储过程而不是直接访问基表,可以提供更好的安全性,你可以在行级或列级控制数据如何被修改。