Charindex、Patindex、Convert函数
- 两个int类型的数相除,结果如何正确保留小数(去掉小数点后面多余的0);
CONVERT(data_type(length),expression,style)
参数 | 取值 |
data_type(length) | 数据类型,eg: float、int、varchar(50)等 |
expression | 需要转的值 |
style | 可选项,日期/时间的输出格式的代码,如101代表mm/dd/yy,102代表yy.mm.dd等 |
测试举例:
create table test1 (a int not null ,b int not null);insert into test1 values(12,5)
insert into test1 values(1,8)
insert into test1 values(12,6)
insert into test1 values(1,3)select a,b,CONVERT(FLOAT,a/(b*1.0)) as JG from test1
2. Patindex函数
1 []中任意的一个字符在expression中第一次出现,返回模式第一次出现的起始位置;如果搜索的字符串expression中存在多个匹配的,仅返回第一个匹配的位置;位置的起始值从1开始;找不到则返回0;PATINDEX ( '%[pattern]%' , expression )eg: PATINDEX ( '%[0]%' , '100101010' ) --返回2 2 [^]中任意的一个字符不在expression中第一次出现,就直接返回在第一次出现的位置;若找不到,则返回0;PATINDEX ( '%[^pattern]%' , expression )eg: PATINDEX ( '%[^0]%' , '000100101010' ) --返回4
模糊查询的方式与LIKE用法相似,但LIKE只能判断是否存在,不能返回具体位置;
1 按照结尾查询,指定字符串前面模糊查询,结尾一致就返回结尾的位置,否则返回0;PATINDEX ( '%pattern' , expression): PATINDEX ( '%950' ,'0000163738954950')则返回950首次出现的9的位置112 按照开始查询,指定字符串后面模糊查询,开头一致就返回1,否则直接返回0;PATINDEX ( 'pattern%' , expression ):3 指定字符串前后模糊查询PATINDEX ( '%pattern%' , expression )
此Patindex函数可以与substring函数结合在取子字符串;
eg: a = '00000010284747',输出第一位不是0的子字符串;
SUBSTRING(a,(PATINDEX('%[^0]%',a)),LEN(a))
输出为10284747eg: a = '00000010284747',输出2之后的子字符串;
SUBSTRING(a,(PATINDEX('%[2]%',a)),LEN(a))
输出为284747
- 与case when 函数结合使用,去前导0的函数:
如果物料号matnr字段是纯数字号,则输出去前导0的物料号:如00000123456 则输出123456;否则原号输出;
case ISNUMERIC(d.MATNR)when 1 then SUBSTRING(d.matnr,(PATINDEX('%[^0]%',d.matnr)),LEN(d.matnr))when 0 then d.matnr end
3. Charindex函数
返回字符或者字符串在另一个字符串中的起始位置,为一个整数,若没找到,则返回0;与patindex的区别是: expression1无通配符,为具体的字符串;
CHARINDEX( expression1 , expression2 ,[ start_location ] )expression1: 是要到expression2中寻找的字符;
start_location: 在 expression2 中搜索 expression1 时的起始字符位置;
如果没有给定 start_location,则将从 expression2 的起始位置开始搜索;
4. 聚合函数
聚合函数指的是对一组值进行计算,并返回单一的值;常见的聚合函数有SUM()、Min()、Max()、AVG()、Count();
Charindex、Patindex、Convert函数相关推荐
- mysql转换double_MySQL 字符串转in/double类型——CAST/CONVERT函数的用法
MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值.两者具体的语法如下: CAST(value as type); CONVERT(value, type) ...
- Convert函数应用格式化日期
SqlServer里convert函数格式化日期 格式:CONVERT(data_type,expression[,style]) 说明:此样式一般在时间类型(datetime,smalldateti ...
- 在SQL中使用convert函数进行日期的查询
曾经遇到这样的情况,在数据库的Meeting表中有PublishTime (DateTime,8)字段,用来存储一个开会时间,在存入时由于要指明开会具体时间,故格式为yyyy-mm-dd hh:mm: ...
- SQLServer中ISNULL、NULLIF和CONVERT函数
create view sss as(select ISNULL(operate_time, CONVERT(VARCHAR(20),create_time,120)) time from s_pro ...
- SQL Server CONVERT() 函数,Date 函数
From: http://www.w3school.com.cn/sql/func_convert.asp 定义和用法 CONVERT() 函数是把日期转换为新数据类型的通用函数. CONVERT() ...
- mysql+cast+0x_mysql cast与convert 函数的用法
MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值.两者具体的语法如下:CAST(value as type); CONVERT(value, type); ...
- mybatis学习(21):MySQL 字符串 转换 CAST与CONVERT 函数的用法
MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值.两者具体的语法如下: Sql代码 CAST(value as type); CONVERT(value, ...
- MySQL 字符串转in/double类型——CAST/CONVERT函数的用法
MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值.两者具体的语法如下: CAST(value as type); CONVERT(value, type) ...
- MySQL CAST与CONVERT 函数的用法
文章转自 http://www.nowamagic.net/librarys/veda/detail/2044 MySQL 的CAST()和CONVERT()函数可用来获取一个类型的值,并产生另一个类 ...
- SQL Server:CONVERT() 函数
摘自:http://www.w3school.com.cn/sql/func_convert.asp 定义和用法 CONVERT() 函数是把日期转换为新数据类型的通用函数. CONVERT() 函数 ...
最新文章
- Pytorch+Text-CNN+Word2vec+电影评论情感分析实战
- 【JavaSE04】Java中循环语句for,while,do···while
- 关闭Outlook时最小化
- Qt 实现数据协议控制--组帧、组包、解析帧、解析包
- Go语言 读写锁互斥锁原理剖析(1)
- poj2431 Expedition
- [css] padding会影响到元素的大小,那不想让它影响到元素的宽度应该怎么办?
- 刀片 显卡 排行_AMD发布RadeonRX6000系列游戏显卡 4599元起
- dubbo 与 zookeeper 的关系
- pytorch torch.full
- 拓端tecdat|R语言:用R语言填补缺失的数据
- 小规模45万免税,免的是增值税,没有企业所得税!
- Altium Designer 14安装教程(详细版)
- 6个提高工作效率的技巧
- unity 360°全景图
- 引导魔女之力,征服星辰大海 主线篇: 重要事情说三遍: 推主线!推主线!!推主线!!! 简述: 1.本篇仅主线,涉及到的技巧全职业都可以参考; 2.考虑到萌新刚玩没有护卫者系统,故禁护
- 药店微信小程序的功能
- php msvcr110,安装PHP时计算机错误丢失了msvcr110.dll
- border-radius使用详解
- 给 iOS 开发者的 Sketch 入门教程