SQL-数学、字符串、时间日期函数和类型转换
--数学函数
--ABS绝对值,
select ABS(-99)
--ceiling取上限,
select CEILING(4.5)
--floor去下限
select FLOOR(4.5)
--power 几次方,
select POWER(2,2)
--round四舍五入,
select round (6.45,1)
--sqrt开平方
select SQRT(9)
--square平方
select SQUARE(5)
--字符串函数
--ASCII 返回字符串最左边的字符ascii码
select ASCII('name')
select ASCII(name)from student1--查看所有人名的首字符的ascii码
--char 将ascii码转换成字符
select CHAR(70)
select CHAR(chinese)from student1--讲所有语文分数转换成字符
--注意,(整数)所转换的表达式或者常量需要在0-256之间,超出的话输出n
--LEN 返回字符串的长度
select LEN('asdfghh')
select LEN(name)from student1 --显示所有姓名的长度
--charindex 返回字符串首个字符出现在某个字符串从头开始为几的索引
select CHARINDEX('d','asdfghhjkkhg')--索引从1开始
select CHARINDEX('23',age)from kaoshi --查看在23里面出现的索引
--difference 返回相似度 用0——4表示相似度
select DIFFERENCE('asddfghjk','adfjkgh')
--LEFT 表示从左边截取字符串
select LEFT('asfgdsssdgh',4)
--RIGHT 从右边
select right('asfgdsssdgh',4)
--lower 全部转化成小写
select LOWER('adasJFKSKdffsfa')
--upper 大写
select UPPER('AFADSFAsfsdfsSAD')
--Ltrim 去掉左边的空格
select LTRIM(' asd ')
--Rtrim 去掉右边的空格
select RTRIM(' asd ')
--patindex 相当于charindex 返回字符串所在字符中的首字符索引位
select PATINDEX('%dasda%','154dasda546')
--Replace 查找替换
select REPLACE(sex ,'女','姑娘')from student1--只显示,不更改
--replicat 复制粘贴
select REPLICATE('asd ',3)--一共三遍
--reverse 翻转
select REVERSE('asdfgghjk')
--space 空格
select 'a'+SPACE(5)+'bc'
--str 强制转换成字符串
select STR(123456.222,5,1)--参数1是需要转换的数值,参数2是转换之后保留的长度
--参数3是小数点后需要保留的位数
--注意,参数2在小于参数1整数部分位数时无法转换
--stuff
--从第几个索引的位置,看看需不需要向后删除几位,然后将需要插入的内容插入
--参数1是需要被插入的字符串
--参数2是从第几个索引开始
--参数3是是否需要向后删除几个字符
--参数4是新插入的字符
select STUFF('123456',5,2,'.454')
--substring
--截取字符串
--参数1是被截取的字符串
--参数2是从哪个索引开始
--参数3是截取的长度
select SUBSTRING('151111111111111111111111888861',1,4)
--1.时间日期函数:
set datefirst 1 --设置星期一为第一天
--datepart 函数,返回时间日期中的某一个部分
--参数1是指返回那一个部分
--参数2是指从那个时间日期中返回
--datefirst 是系统常量,使用时需要加上@@
select @@DATEFIRST as'1st day',DATEPART(dw,GETDATE())as 'tobay'
select GETDATE()--执行是后系统时间
--需要改变的类型,需要改变的数量,需要执行要改变的时间日期
select DATEADD(HH,5,'2015-12-12')
--datediff 算时间差, different 不同的,相差的
--需要改变的类型,开始的时间日期,结束的时间日期
select datediff(MM,'2013-12-31','2014-1-3')
declare @startday varchar(50)--声明变量时需要添加数据类型,
set @startday ='1993-11-1'--设置变量值
select DATEDIFF(DAY,@startday,GETDATE())--as '在线时间'
select day('1993-11-1')
select MONTH('1993-11-1')
select YEAR('1993-11-1')
--datepart 返回时间日期的某一个部分
--参数1是返回的哪一个部分
--参数2是以哪个日期作为被计算的日期
select DATEPART(YEAR,'2009-9-8')--返回年
select DATEPART(DY,'2009-9-8')--返回dayofyear 这一年的第几天
select DATEPART(QQ,'2009-9-8')--返回季度 共四个季度
--判断日期时间是否正确
select ISDATE('2012-2-29')--正确 返回1
select ISDATE('2011-2-29')--错误 返回0
--2.类型转换:
--数据类型转换 cast convert
--cast 先写被转换的value + as + 被转换成的类型
select CAST(1.999 as int)
select CAST(1.56656 as varchar(50))
select CAST(1.3996646 as decimal(18,2))
select cast(CAST('1.5656' as decimal(18,2)) as int)
select CAST('1.5656' as decimal(18,2))
--convert 参数1是需要转换成为的类型,参数2是需要被转换的value
select CONVERT(int , '99')
select CONVERT(decimal(18,2) , '89.9912')--在精确后面位数的时候会自动四舍五入
select CONVERT(varchar(50) , 3.1415926)
SQL-数学、字符串、时间日期函数和类型转换的更多相关文章
- SQL server 时间日期函数、类型转换
一.日期与时间函数 二.子查询与分页查询
- SQl Server 函数篇 数学函数,字符串函数,转换函数,时间日期函数
数据库中的函数和c#中的函数很相似 按顺序来, 这里价格特别的 print 可以再消息栏里打印东西 数学函数 ceiling() 取上限 不在乎小数点后面有多大,直接忽略 floor() ...
- SQL server 数据库——数学函数、字符串函数、转换函数、时间日期函数
数学函数.字符串函数.转换函数.时间日期函数 1.数学函数 ceiling()--取上限 select ceiling(oil) as 油耗上限 from car floor()--取下限 sele ...
- 【2017-03-13】Tsql 数学函数、字符串函数、转换函数、时间日期函数
一.数学函数(针对值类型操作) 1.ceiling():取上限 只要小数点后有数字大于0,整数位自动进1 2.floor():取下限 将小数点位舍去,不管小数点位大小 3.round(四舍五入的值,保 ...
- SQL servcer 时间日期函数、数据类型转换
1.时间日期函数 2.数据类型转换 3.习题 建立两个表,一个部门表,一个人员表.部门:部门的编号,部门的名称,部门的职责.人员:人员的编号,姓名,年龄,性别,cid所属部门
- SQL Fundamentals || Single-Row Functions || 日期函数date functions
SQL Fundamentals || Oracle SQL语言 SQL Fundamentals: Using Single-Row Functions to Customize Output使 ...
- JS 字符串 时间 数字函数操作 事件
字符串 操作 var s="abcdefg" s.tolowerCase() 转小写 s.toupperCase() 转大写 s.substring(2,5) 索引下 ...
- SQLite中的时间日期函数(转)
SQLite包含了如下时间/日期函数: datetime().......................产生日期和时间date()...........................产生日期tim ...
- [转] PostgreSQL的时间/日期函数使用
PS:http://blog.csdn.net/love_rongrong/article/details/6712883 字符串模糊比较 日期类型的模糊查询是不能直接进行的,要先转换成字符串然后再查 ...
随机推荐
- Leetcode--Swap Nodes in Pairs
最傻的方法: ListNode *swapPairs(ListNode *head) { if (head == NULL) return NULL; ListNode *temp = ); List ...
- Eclipse中全局搜索和更替
Eclipse全局搜索步骤 使用快捷键"ctrl+H"打开文件搜索对话框,选择"File Search"标签,在Containing text中输入你需要搜索 ...
- This TableLayout layout or its LinearLayout parent is possibly useless
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- sql数据库表被锁,无法查询
查看被锁表: select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName ...
- 移动端WEB开发备忘录
META相关 1. 添加到主屏后的标题(IOS) <meta name="apple-mobile-web-app-title" content="标题" ...
- 在VMware中安装ubuntu出现菜单栏无法显示的情况
在VMware中安装ubuntu出现菜单栏无法显示的情况 其实这个问题的原因时由于VMware中enable了3D图形加速界面,只需要shutdown当前运行的虚拟机,然后在虚拟机,设置,显示器,3D ...
- 一个Woker类,当id和name相同时,系统判断两个工人是相等的,打印工人对象时显示“工人:id和name”。
public class Worker { private int id; private String name; private double salary; public boolean equ ...
- Object有哪些公用方法
Object是所有类的父类,任何类都默认继承Object.Object类到底实现了哪些方法? 1.clone方法 保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出 ...
- 解决远程连接mysql错误1130代码的方法
命令行登陆 mysql -uroot -p 输入密码后登陆 use mysql; select host,user from user ; grant allon *.*to root i ...
- python 版 mldivide matlab 反除(左除)《数学建模算法与程序》Python笔记
今天在阅读数学建模的时候看到了差分那章 其中有一个用matlab求线性的代码,这里我贴出来 这里我送上 Python代码 In [39]: import numpy as np ...: from s ...