如何用sql查詢字串的一部分,如何用sql查詢一個字串的一部分

2022-01-06 11:20:08 字數 3608 閱讀 3001

1樓:

select substr('2009/2/5',1,6) from table_name

substr(a,m,n)函式,是將欄位a從第m個字元擷取n個字元。

2樓:匿名使用者

substring('2009/2/5',1,6)

substring (, , length)

返回從字串左邊第starting_ position 個字元起length個字元的部分。

left('2009/2/5',6)

left (, )

返回character_expression 左起 integer_expression 個字元。

convert(varchar(7), convert(datetime, '2009/2/5'), 120)

返回結果 2009-02

replace(convert(varchar(7), convert(datetime, '2009/2/5'), 120), '-', '/')

返回結果 2009/02

convert(varchar(7), convert(datetime, '2009/12/5'), 120)

返回結果 2009-12

replace(convert(varchar(7), convert(datetime, '2009/12/5'), 120), '-', '/')

返回結果 2009/12

3樓:

你試下這條語句 看是不是你要的效果

select replace(convert(varchar(7), convert(datetime, '2009/12/5'), 120), '-', '/')

如果是的 用下面的 sql 試下

select replace(convert(varchar(7), convert(datetime, 欄位名), 120), '-', '/')

from 表名

4樓:

單純用left或者substring是行不同的

比如說2009/12/15,那你是取6個字元 還是5個字元呢?

5樓:匿名使用者

convert(nvarchar(6),'2009/2/5')

6樓:匿名使用者

select substr('2009/2/5',1,6) from dual

7樓:

查一個字串的一部分 一般用like就好。

不知道是不是你想要的效果。

能舉個例子說明你想做什麼。不然不知道怎麼回答你。

8樓:一直就很笨

試下like'2009/2%'

如何篩選sql字串欄位中部分值

9樓:小男孩

一、先說篩選字串欄位中部分值的記錄。

例如我有一個kkbh(卡口編號)欄位,這是一個字典欄位(對應另一個實體表(卡口表)的編號欄位)。這個欄位的值儲存所屬卡口值域

本來想到的是通過or來實現,這樣需要動態生成sql語句。

後來想到一個辦法用charindex搜尋字串的辦法。將所有的要查的卡口編號組成類似'01@02'這樣待查字串。sql查詢時通過charindex篩選出在待查字串裡有的kkbh的記錄。

經測試使用or與使用charindex,兩者在mssql中執行效率差不多。

具體實現:

使用者介面查詢需求:可能搜尋n個卡口的記錄(n的值域)。設計這個ui的形式一共三種:

一、一個多選listbox。使用者介面執行時將卡口字典表載入listbox資訊。

二、兩個listbox,左邊為待選,右邊為已選,中間加兩個按鈕新增與刪除。使用者介面執行時將卡都字典表載入左邊的listbox。

三、多個checkbox。可以在介面設計階段直接做死字典表,即有幾個卡口就話幾個checkbox。或者在程式執行根據字典表繪製動態繪製checkbox。

ui的優缺點這裡不討論,我這裡選擇第三種方式的動態繪製。

在查詢階段根據所選卡口生成待選字串入:"01@02」

並將此條件傳回後臺查詢服務程式

後臺查詢服務裡只要待查字串作為引數傳入查詢的sql語句中(sql片段): charindex(卡口編號,@待查字串)。當然也可以手動生成sql方式傳入"charindex(卡口編號,'"+待查字串+"')".

二、模糊查詢。

使用like的模糊查詢發生效率是很低。

提高的解決辦法與:

一、用full text index 結合contains函式。全文字索引,帶了空間佔用率很高。

二、通過charindex+substring實現簡易模糊查詢。使用substring分段,charindex實現類似like '%關鍵字%'。

sql 如何擷取一個欄位裡某一字串中間的字元?

10樓:魅

--這個查詢需要注意的是qwer後的需要查詢的字串必須是一個空格,不能有的是一個空格有的是兩個。也就是格式要固定。

--定義引數

create table #a (string varchar(max))

declare @sql varchar(max)

declare @a varchar(max)

select @a ='asdf qwer zxcv 1234 qwer yuchor 3452 qwer abcd 7893'--這個是要查詢的字串

while charindex('qwer',@a)<>0

begin

select @a=substring ( @a,charindex('qwer',@a)+5,len(@a)-charindex('qwer',@a)-4)

insert into #a values (@a)

endselect substring (ltrim ( string) ,1,charindex(' ',ltrim ( string))) as result from #a

--查詢結果

result

zxcv

yuchor

abcd

sql如何根據一個欄位的某個關鍵詞的前面部分分組查詢

11樓:匿名使用者

你要查詢

bai前面

的內容的話du.用like 新 前面zhi部分的就用%代替如果是新前dao面的一個的

版話就用權'_' (n個就用n個_)

查詢新前面的全部內容 select 某欄位a from tablename where 某欄位a like '%新' group by 某欄位a;

查詢新前面的n個字內容

select 某欄位a from tablename where 某欄位a like '_(注這裡的_個數根據自己需要寫)新' group by 某欄位a;

(另外在用group by 時注意..select 查詢的要是group by後的或聚合函式)

12樓:匿名使用者

給你個思路,定義個指標變數,從右到左賦值,當指標指向新時,查詢指標前面的n個字元即可。

知道軸對稱圖形的一部分如何畫出另一部分

先畫出對稱軸,然後根據已知圖形的某一點在對稱軸的對稱點,然後把那些點連起來就行了。ps一定是根據已知圖形線與線的交點找對稱點 軸對稱就是映象嘛,把已有的圖形用色素描一遍,拿白紙蓋上去,揭下來就行 畫關於一個圖形的另一個軸對稱圖形怎麼畫 圖形上的點作關於對稱軸的對稱點 作垂線,然後延長,取與點到垂足的...

一部分打的銀行一部分衝的現金如何做賬

1 員工憑審批簽字的借款單借款時分錄,借 其他應收款 備用金 2000 貸 現金 2000 2 憑審批簽字的費用報銷單報銷招待費和辦公費時根據員工所在部門不同分別計入銷售費用或管理費用或製造費用,分錄借 銷售費用 管理費用或製造費用 招待的10164 借 銷售費用 管理費用或製造費用 辦公費 300...

男人分手的原因一部分是家裡,一部分是因為時間長了在一起呆夠了,但男的知道女的對她特別好適合在一起過

要看這個人的性格,及分手的原因。如果這個人有自己的主見,可能還會回來,如果這個人沒有主見,自己拿不定注意,是不可能回來的。如果是因為有第三者的話有可能會回來 因為你比別人好 就像你說的在一起呆夠了的話回來的可能幾乎是零 我不這樣認為,如果是他很愛你說岀分手,一定是你說了很多傷心他心的話,還有做了很過...