当前位置:首页 » 编程语言 » sql提取英文
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql提取英文

发布时间: 2022-09-27 23:14:06

1. sql 怎样截取指定位置的中英文混合体 例如 截取‘我是中国人0001’ 的8 至 14字节

create table #temp( test varchar(20) );
INSERT INTO #temp VALUES('我是中国人0001');
go
SELECT
Convert(char(8), test) AS [0to8],
Convert(char(14), test) AS [0to14],
RIGHT(Convert(char(14), test), LEN(Convert(char(14), test)) - LEN(Convert(char(8), test))) AS [8to14]
FROM
#temp
GO
0to8 0to14 8to14
-------- -------------- --------------
我是中国 我是中国人0001 人0001
(1 行受影响)



SQL Server 下面, 可以这么写。

2. SQL中怎样提取纯数字或者纯字母的字段

完全按照DB2语法设计:
drop function TEST
go
create function test(@input varchar(100))
returns int
begin atomic
declare @int int default 0;
declare @input_lenght int default 0;
set @input_lenght = length(@input);
while @input_lenght <> 0 do
if ( substr(@input,length(@input) - @input_lenght +1,1) in ('0','1','2','3','4','5','6','7','8','9') ) then
set @int = @int + 0;
elseif ( substr(@input,length(@input) - @input_lenght +1,1) in ('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z')) then
set @int = @int - 1;
end if;
set @input_lenght = @input_lenght -1;
end while;
if ( @int = 0 or @int = -1* length(@input)) then --- 如果累积为0全是数字;如果累积正好是-1乘以长度则正好全是字段
return 0;
else
return 1;
end if;
end
go
select test ('123456') from sysibm.al 结果是 0
select test ('123b456a') from sysibm.al 结果是 1
select test ('abcdefg') from sysibm.al 结果是 0

3. sql是什么软件

SQL数据库

SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。

SQL语言不仅能独立应用于终端,还可以作为子语言为其他程序设计提供有效助力,该程序应用中,SQL可与其他程序语言一起优化程序功能,进而为用户提供更多更全面的信息。


(3)sql提取英文扩展阅读:

SQL作为一种操作命令集, 以其丰富的功能受到业内人士的广泛欢迎, 成为提升数据库操作效率的保障。SQL Server数据库的应用,能够有效提升数据请求与返回的速度,有效应对复杂任务的处理,是提升工作效率的关键。

由于SQL Servers数据库管理系统具有较高的数据管理性能,因其优越的性能,应用范围非常广,大量应用于服务器和客户体系结构中。SQL Servers数据库的性质主要由以下几个方面体现:系统的吞吐量、响应时间以及并行处理能力, 发出请求服务器回应的速度、还有不同屏幕之间切换的速度等等。

4. sql server 2008 只提取结果集中的英文,汉字或字母不要

SELECTleft(name,patindex('%[^a-zA-Z]%',name)-1)
FROMdbo.test
WHEREISNUMERIC(name)<>1

这样就可以了

5. 数据库中抽取字段的英文和数字 求sql语句

select left(字段1,patindex('%[^a-zA-Z0-9]%',字段1)-1) from tb

6. Access中怎么用SQL提取一个中英文混合单元格里英文和数字,用Access可用的SQL实现,不要用VBA

你第二个的空格,和第三个的横岗都不是数字或字母啊?而且你第三个里好几个空格也不提取,明显就是没按照规律来。

如果单纯数字和字母,定义一个函数:

PublicFunctionNumberGet(chkStrAsString)AsString
'从字符串中提取数字和字母
DimiAsInteger
Fori=1ToLen(chkStr)
IfMid(chkStr,i,1)Like"[0-9]"OrMid(chkStr,i,1)Like"[a-z]"OrMid(chkStr,i,1)Like"[A-Z]"Then
NumberGet=NumberGet&Mid(chkStr,i,1)
EndIf
Nexti
NumberGet=NumberGet
EndFunction

调用:

selectNumberGet('3你好123bAQa')

结果:

至于标点和空格,你自己参考修改一下吧

7. sql 怎样截取指定位置的中英文混合体 例如 截取‘我是中国人0001’ 的8 至 14字节

create table #temp( test varchar(20) );
INSERT INTO #temp VALUES('我是中国人0001');
go
SELECT
Convert(char(8), test) AS [0to8],
Convert(char(14), test) AS [0to14],
RIGHT(Convert(char(14), test), LEN(Convert(char(14), test)) - LEN(Convert(char(8), test))) AS [8to14]
FROM
#temp
GO
0to8 0to14 8to14
-------- -------------- --------------
我是中国 我是中国人0001 人0001
(1 行受影响)



SQL Server 2008 Express 下测试通过。

8. 用SQL语句怎么实现中英文混合的字符串的截取

SELECTLEFT(COL,10)FROMTB;

9. sql中怎么提取大写字母,例如给了一个人的英文姓名,然后用它们的首字母做缩写,Lily James LJ

-----In Oracle
select
replace(
replace(
translate(
'Lily James',
'abcdefghijklmnopqrstuvwxyz',
rapd('#',26,'#')
),
'#',
''),
' ',
'')
from t1

--In MSSQL
create function udf_GetFirst
(
@string varchar(max)
)
return varchar(max)
begin
declare @length int,@increment int,@newString varchar(max)
declare @curChar char(1),@preChar char(1)
set @length=len(@string)
set @increment=1
set @newString=''
set @preChar=' '
set @string=lower(@string)
while @increment<=@length
begin
set @curChar=substring(@string,@increment,1)
set @newString=@newString+
case when @preChar=' '
then upper(@curChar) else @curChar end
set @preChar=@curChar
end
return(@newString)
end

10. sql server 2005 如何截取字符串中的字母

如果是第一位,可以直接用left()函数

selectleft(book_id,1)
from表

这样就可以了

如果是截取第一位后的前二位,要用substring()函数

selectsubstring(book_id,2,2)
from表

这样就可以了


有问题请继续追问