SQL server 数据库——数学函数、字符串函数、转换函数、时间日期函数

数学函数、字符串函数、转换函数、时间日期函数

1、数学函数

ceiling()——取上限  select ceiling(oil) as 油耗上限 from car

floor()——取下限 select floor(oil) as 油耗下限 from car

round()——四舍五入 select round (oil,2) as 四舍五入 from car (两个参数)

select round(11.2,1)——11.2为操作数,1为保留一位小数

select abs(-10)——绝对值

select PI()——圆周率

select sqrt()——开根号

select square()——平方根

2、字符串函数

upper()——转换成大写  select upper(pic) from car            select upper('aaaa')

lower()——转换成小写 select lower(name) from car          select lower('AAAA')

Ltrim()——去左边空格 select Ltrime('    aa     ')

Rtrim()——去右边空格 select Rtrime('    aa     ')

replace()——替换所有匹配项 select Replace('aaabbaabbaaa','bb','哈哈')(三个参数,第一个为操作数,第二个数为被替换的数,第三个为替换后的数)

substring()——截取字符串 select substring('asdfghjkl',2,4)(三个参数,第一个为操作数,第二个为索引,索引从1开始,第三个为截取的字符串长度)

Left()——从左边开始截取字符串  select Left ('asfhsdfss',4)(两个参数第一个为操作数,第二个为字符串长度)

Right()——从右边开始截取字符串  select Right('danfnssdo',4)(两个参数第一个为操作数,第二个为字符串长度)

Len()——字符串长度  select len('adass')

3、转换函数

select   code+name  from car ——两列并成一列输出,字符串类型进行拼接,值类型进行数学运算

方法1:select code+convert(nvarchar(10),oil) from car ——将值类型的oil转换成字符串类型

方法2:select code+cast(oil as nvarchar(10)) from car ——将值类型的oil转换成字符串类型

4、时间日期函数

GetDate()——获取当前时间 select 

year(‘2010-1-2’)——获取年份

month(‘2010-1-2’)——获取月份

day(‘2010-1-2’)——获取日期

isdate()——判断日期是否正确

dateadd()——添加时间 select  dateadd( day, 45,‘2010-1-2’)(三个参数,第一个是添加的是年,月,还是日,第二个是添加的数量,第三个是被添加的日期) 

select  datename (weekday,getdate())——今天周几

select  datename (weekday,dateadd(day,9,getdate()))——9天以后是周几

select  datename (week,‘2012-2-3’)——2月3号是2012年的第几周

select  datename (day,‘2012-2-3’)——3号是2月的第几天

select  datename (week,‘2012-2-3’)——2012-2-3是2012年的第几周

 select  datename (dayofyear,‘2012-2-3’)——2-3是这一年的第几天

 

转载于:https://www.cnblogs.com/weiyu11/p/6542255.html

### SQL 中的字符串类型转换 #### 字符串到数值类型的转换 在处理需要按数值顺序而非字典顺序排序的情况时,可以利用 `CAST` 或者 `CONVERT` 函数来实现将字符型字段转化为对应的数值形式以便正确排序。例如,在 MySQL 数据库环境下,如果存在一列名为 `your_column` 的表 `your_table` ,其中的数据是以字符串的形式保存但实际上代表的是整数,则可以通过如下方式完成查询并按照实际所表示的数字大小来进行升序排列: ```sql SELECT * FROM your_table ORDER BY CAST(your_column AS UNSIGNED); ``` 此语句中的 `CAST(... AS UNSIGNED)` 部分负责把原本作为文本存储的内容解释为无符号整数从而允许对其进行数学意义上的比较操作[^1]。 #### 数组与字符串之间的互转 虽然标准 SQL 并不直接提供数组这一概念,但在特定场景下可能涉及到模拟数组的行为或者是在不同结构间相互转化的需求。对于 JavaScript 来说,当希望主动控制数组向字符串转变的过程而不是依赖默认行为的时候,除了依靠内置对象的方法之外还可以自定义逻辑;而在 SQL 方面,为了达到相似的效果——即将逗号分割的一系列值视为一组离散项对待——则往往借助用户定义函数(UDF)。下面给出了一种适用于 T-SQL (即 Microsoft SQL Server 所使用的方言)环境下的解决方案片段: ```sql CREATE FUNCTION dbo.CheckStrInArr (@s VARCHAR(50), @sArr VARCHAR(MAX)) RETURNS INT AS BEGIN DECLARE @pos INT; SET @pos = CHARINDEX(',' + @s + ',', ',' + @sArr + ',') RETURN CASE WHEN @pos > 0 THEN 1 ELSE 0 END; END GO ``` 这里展示了一个简单的 UDF 定义,它接受两个参数:一个是待查找的目标子串 `@s` 和另一个由若干成员组成的集合表达式 `@sArr` 。该功能旨在测试前者是否属于后者的一部分,并返回布尔结果以指示匹配状态[^4]。 #### 文本至日期时间格式的变化 针对那些采用固定模式编码的时间戳信息而言,有时有必要将其解析回更易于理解和计算的标准日历单位。尽管 SQLite 缺乏专门设计用来容纳此类特殊含义序列化的原生类型支持,不过这并不妨碍通过灵活运用辅助工具集达成目的。具体来讲就是应用诸如 `DATE()` , `TIME()` 及其组合体之类的构造器去诠释原始记录里的相应部分,进而获取更加直观的表现形式。值得注意的是,由于缺乏内在机制保障,因此一切变换均需谨慎行事以免引入潜在错误风险[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值