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表
这样就可以了
有问题请继续追问