sql server函数

1.日期函数

--返回当前日期和时间
select current_timestamp;

--返回年份YEAR(date)  返回月份MONTH(date)  DAY(date)返回天
select YEAR(Purchase) from buy

--去掉时分秒,只显示年月日
select convert(varchar(10),Purchase,120) from buy

--给Purchase增加5天时间  year加年  mm加月  dd加天
select *,DATEADD(dd, 5, Purchase) from buy

--检查表达式是否为有效日期
SELECT ISDATE(purchase) from buy

--返回两个日期值之间的差
select DATEDIFF(year, '2017/08/25', '2011/08/25') AS DateDiff;

--返回当前数据库系统日期和时间:
select getdate();

2.字符串函数



--返回"buyer"中第一个字符的 ASCII 值
select ASCII(buyer) from buy;

--在字符串"buyer"数据列中搜索"张",返回下标位置
select CHARINDEX('张',buyer) from buy;

--将buyer和Price拼接起来,如果buyer和Price都是字符类型中间直接用+,不同类型拼接转换成相同类型就好
select  buyer+Convert(varchar(10),Price) from buy 

--将number,buyer,Licenseplate的值拼接起来生成一个新的test列,拼接中间用,号隔开
select *,CONCAT(number, ',', buyer, ',', Licenseplate) AS test
from buy;

--返回buyer的长度 (以字节为单位)
select *,DATALENGTH(buyer) from buy;

--返回buyer的长度
select *,Len(buyer) from buy

--从buyer中提取3个字符 left从左开始  right从右开始
select *,LEFT(buyer, 1) from buy

--将Licenseplate全部转换为小写
select *,LOWER(Licenseplate) from buy

--将Licenseplate全部转换为大写
select *,upper(Licenseplate) from buy

--删除buyer前面空格
select *,LTRIM(buyer) from buy

--删除buyer后面空格
select *,RTRIM(buyer) from buy

--buyer前后空格一起删除
select *,LTRIM(RTRIM(buyer)) from buy

--返回'张'第一次出现的起始位置
select *,PATINDEX('%张%',buyer) from buy

--将buyer反转
select *,REVERSE(buyer) from buy

--从指定的位置开始替换指定的长度  1指定位置 3指定长度
select *,STUFF(buyer,1,3,Licenseplate) from buy

--将buyer列里面的"张" 替换为 "李":
select REPLACE(buyer, '张', '李') from buy

--从buyer中提取 3 个字符,从位置 1 开始:
select SUBSTRING(buyer, 1, 2) from buy

3.高级函数

--遍历Price,值大于1返回">1"  等于1返回"=1" 都不满足返回"1"
select *,
case 
	when Price>1 then '>1' 
	when Price=1 then '=1' 
	else '1' 
end
from buy;

--根据Price排序,如果Price为空则按number排序
select * from buy
order by 
(case 
 when Price is null then number 
 else Price 
end) desc;

--如果buyer列有为空则返回自己设定的值
select *,ISNULL(buyer, '自己设定的返回值') from buy

--返回number是否是数字  0为false  1为true
select *,ISNUMERIC(number) from buy
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL Server函数是用于在T-SQL中执行特定任务的代码块。根据其性质,函数可以分为确定性函数和非确定性函数。确定性函数在相同的参数下始终返回相同的结果,而非确定性函数的结果可能会受到其他因素的影响。\[1\] 非确定性函数在使用自定义函数等特定的SQL编程对象时有一些限制。这是因为SQL Server需要显式执行这些函数,而不能依赖于缓存或预编译的可执行对象。因此,在构建可重用的编程对象时,理解函数的确定性与非确定性是很重要的。\[2\] 此外,SQL Server还提供了一些工具函数,用于返回服务器和数据库的配置细节,以及返回不同对象属性状态的通用和专用函数。这些函数封装了对系统表和用户数据库的查询,建议使用这些系统函数而不是自己创建对系统表的查询,以防将来SQL Server版本对模式进行更改。\[3\] 总结来说,SQL Server函数是用于执行特定任务的代码块,可以分为确定性函数和非确定性函数。在使用自定义函数等特定的SQL编程对象时,对非确定性函数有一些限制。此外,SQL Server还提供了一些工具函数,用于返回服务器和数据库的配置细节。 #### 引用[.reference_title] - *1* *2* *3* [SQL函数说明大全](https://blog.csdn.net/leamonjxl/article/details/6309864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值