當前位置:首頁 » 編程語言 » 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表

這樣就可以了


有問題請繼續追問