‘壹’ sql 截取某个字符之前的数据
CREATE PROCEDURE pim_Utility_ReadCRMSaleLead
AS
select A.ProjectName as '项目名称', A.SaleDistrict as '项目所在地',A.Address as '客户地址', SUBSTRING(1,CHARINDEX(‘+’,A.RelateLead1)- 1,LEN(A.RelateLead1)) as '设计院',
A.BudgetNumber as '预计容量',A.Finish_On as '订货时间' ,
A.WorkStatus as '状态', B.FolderId
INTO #Temp0 from pimCRMSaleLead A ,pimCRMLead B
where A.CustomerId *= B.LeadID
update #Temp0 set #Temp0.项目所在地=C.Name FROM pimDataClassFolder C WHERE #Temp0.FolderId=C.FolderId
SELECT * FROM #Temp0
GO
‘贰’ oracle中 sql截取某个字符前面和后面的值
1、将新建好的表aaaa,填充需要查询的数据以"_"或者","为分隔符的两条数据。
‘叁’ 在SQL语句中如何用正则取出一个字符串的前几位数字
SQL 取字符串的前几位数字,SQL 关键字 substring
substring 使用方法,参考下列SQL:
declare @T nvarchar(10)
set @T='12345abcde'
select substring(@T,1,5)
结果如下:12345
如果是SQL 写正则表达式判断,只能通过存储过程或函数来处理
SQL 如下:
CREATE FUNCTION dbo.find_regular_expression
(
@source varchar(5000), --需要匹配的源字符串
@regexp varchar(1000),--正则表达式
@ignorecase bit = 0--是否区分大小写,默认为false
)
RETURNS bit--返回结果0-false,1-true
AS
BEGIN
--0(成功)或非零数字(失败),是由 OLE 自动化对象返回的 HRESULT 的整数值。
DECLARE @hr integer
--用于保存返回的对象令牌,以便之后对该对象进行操作
DECLARE @objRegExp integer DECLARE @objMatches integer
--保存结果
DECLARE @results bit
/*
创建 OLE 对象实例,只有 sysadmin 固定服务器角色的成员才能执行 sp_OACreate,并确定机器中有VBScript.RegExp类库
*/
EXEC @hr = sp_OACreate 'VBScript.RegExp', @objRegExp OUTPUT
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
/*
以下三个分别是设置新建对象的三个属性。下面是'VBScript.RegExp'中常用的属性举例:
Dim regEx,Match,Matches '建立变量。
Set regEx = New RegExp '建立一般表达式。
regEx.Pattern= patrn '设置模式。
regEx.IgnoreCase = True '设置是否区分大小写。
regEx.Global=True '设置全局可用性。
set Matches=regEx.Execute(string) '重复匹配集合
RegExpTest = regEx.Execute(strng) '执行搜索。
for each match in matches '重复匹配集合
RetStr=RetStr &"Match found at position "
RetStr=RetStr&Match.FirstIndex&".Match Value is '"
RetStr=RetStr&Match.Value&"'."&vbCRLF Next
RegExpTest=RetStr
*/
EXEC @hr = sp_OASetProperty @objRegExp, 'Pattern', @regexp
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'Global', false
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
EXEC @hr = sp_OASetProperty @objRegExp, 'IgnoreCase', @ignorecase
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
--调用对象方法
EXEC @hr = sp_OAMethod @objRegExp, 'Test', @results OUTPUT, @source
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
--释放已创建的 OLE 对象
EXEC @hr = sp_OADestroy @objRegExp
IF @hr <> 0 BEGIN
SET @results = 0
RETURN @results
END
RETURN @results
END
‘肆’ sql 怎么取 字符串的前几位
sql中,使用LEFT函数即可取到字符串的前几位。
LEFT(c, number_of_char)用于返回某个被请求的文本域的左侧部分,其中c代表被请求的文本域,number_of_cha代表需要取出的字符串位数。如“LEFT("..com", 6)”即可取得字符串""。
(4)sql取一个字段前数据扩展阅读:
sql中,常用函数介绍:
1、AVG():返回平均值
2、COUNT():返回行数
3、FIRST():返回第一个记录的值
4、LAST():返回最后一个记录的值
5、MAX():返回最大值
6、MIN():返回最小值
7、SUM():返回总和
8、UCASE():将某个字段转换为大写
9、LCASE():将某个字段转换为小写
10、MID():从某个文本字段提取字符
11、LEN():返回某个文本字段的长度
12、ROUND():对某个数值字段进行指定小数位数的四舍五入
13、NOW():返回当前的系统日期和时间
14、FORMAT():格式化某个字段的显示方式
15、INSTR():返回在某个文本域中指定字符的数值位置
16、LEFT():返回某个被请求的文本域的左侧部分
17、RIGHT():返回某个被请求的文本域的右侧部分
‘伍’ sql 查询字段中的前几个字
可以使用:substr( string, start_position, [ length ] );string:源字符串;start_position:提取的位置,字符串中第一个位置始终为1;[ length ]:提取的字符数,如果省略,substr将返回整个字符串;
针对本例举例说明:
select * from 表名wheresubstr([D],1,2)=“10”
语句功能说明:从指定表中查询D字段第1、2个字符为“10的记录”。
(5)sql取一个字段前数据扩展阅读:
注意事项
语法:substr(string,start,length)
string参数:必选。数据库中需要截取的字段。
start参数:必选。
正数,从字符串指定位子开始截取;负数,从字符串结尾指定位子开始截取;0,在字符串中第一个位子开始截取。1,同理。(特殊)
length参数:可选。需要截取的长度。缺省,即截取到结束位置。
注意:若必选参数为空,那返回的结果也为空。
‘陆’ sql server 取一个字段 的前5
是不是C列就是分类,E列就是具体的值,然后需要按照C分组,并取分组后的每组的E列的前5条?
如果是就看看以下语句
--分组排序
selectrow_number()over(partitionbyCorderbyEDESC)no,a,b,c,d,e
fromt1
--将分组排序的查询当作一张表查询,需要按照上面排序,可以自己修改,这里处理为所描述的降序,根据no判断,小于等于5的就是需要的数据
select*
from(
selectrow_number()over(partitionbyCorderbyEDESC)no,a,b,c,d,e
fromt1
)a
wherea.no<=5
‘柒’ sql怎么取字符串的前几位
sql语句截取字符串前几位语句:
select
substr(cont_no,1,9)
from
for_contract
SUBSTRING
(
expression
,
start
,
length
)
expression:是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。
start:是一个整数,指定子串的开始位置。
length:是一个整数,指定子串的长度(要返回的字符数或字节数)。
eg:select
id
from
users
id的值是001.002$
select
substring(ID,charindex('.',ID)+1,(charindex('$',ID)-charindex('.',ID)-1))
as
idx
‘捌’ sql中如何在where字句里截取某个字段的前几位字符
sql中在where字句里截取字符方法如下:
1、如果是sqlserver:where left(p.end_time,4) = '2012'。
2、如果是Oracle:where substr(p.end_time,0,4) = '2012'。
举例:
1、oracle: 'where substr(字段名,1,2)='''123''''
2、sqlserver: 'where substring(字段名,1,2)='''123''''
(8)sql取一个字段前数据扩展阅读:
sql中,常用函数介绍:
1、AVG():返回平均值
2、COUNT():返回行数
3、FIRST():返回第一个记录的值
4、LAST():返回最后一个记录的值
5、MAX():返回最大值
6、MIN():返回最小值
7、SUM():返回总和
8、UCASE():将某个字段转换为大写
9、LCASE():将某个字段转换为小写
10、MID():从某个文本字段提取字符
11、LEN():返回某个文本字段的长度
12、ROUND():对某个数值字段进行指定小数位数的四舍五入
13、NOW():返回当前的系统日期和时间
14、FORMAT():格式化某个字段的显示方式
15、INSTR():返回在某个文本域中指定字符的数值位置
16、LEFT():返回某个被请求的文本域的左侧部分
17、RIGHT():返回某个被请求的文本域的右侧部分
‘玖’ 如何截取一段sql中某个字符串之前的内容,在线等
/****** Sql Server中截取字符串的常用方法 ******/--1、LEFT()方法-----函数说明-----1)语法:LEFT(character,integer) --2)介绍:参数1:要截取的字符串,参数2:截取字符个数--3)使用:--返回从字符串左边开始指定个数的字符--select LEFT('SqlServer_2008',3)--4)返回:Sql--1、RIGHT()方法----- right()函数说明-----1)语法:RIGHT(character,integer) --2)介绍:参数1:要截取的字符串,参数2:截取字符个数--3)使用:--返回从字符串右边开始指定个数的字符--select LEFT('SqlServer_2008',4)--4)返回:2008--1、SUBSTRING()方法----- substring()函数说明-----1)语法:SUBSTRING(character,start,length) --2)介绍:参数1:要截取的字符串,参数2:开始截取的下标,参数3:截取的字符长度--3)使用:--返回从字符串中间的字符--select SUBSTRING('SqlServer_2008',4,6)--4)返回:Server
‘拾’ SQL语句怎么查询在某日期之前的数据
工具/材料:Management Studio。
1、首先在桌面上,点击“Management Studio”图标。