檢索z1中包含「ab」但不包含「ab1」的記錄

2021-04-13 10:00:16 字數 1079 閱讀 6248

有資料表t_table,其中有欄位z1。z1儲存由空格分隔的多個字串,例如:

記錄號     z1

1       ab1 df1 ft1

2       df1 ab1 ft1

3       df1 ft1 ab1

4       ab df1 ft1

5       df1 ab ft1

6       df1 ft1 ab

希望檢索z1中包含「ab」但不包含「ab1」的記錄(只包含後3條記錄),sql語句是什麼?

--解答:

if object_id('pubs..tb') is not null

drop table tb

gocreate table tb(記錄號 int,z1 varchar(20))

insert into tb(記錄號,z1) values(1,       'ab1 df1 ft1')

insert into tb(記錄號,z1) values(2,       'df1 ab1 ft1')

insert into tb(記錄號,z1) values(3,       'df1 ft1 ab1')

insert into tb(記錄號,z1) values(4,       'ab df1 ft1')

insert into tb(記錄號,z1) values(5,       'df1 ab ft1')

insert into tb(記錄號,z1) values(6,       'df1 ft1 ab')

select * from tb where charindex('ab' , z1) > 0 and charindex('ab1' , z1) = 0

drop table tb

/*記錄號         z1                  

----------- --------------------

4           ab df1 ft1

5           df1 ab ft1

6           df1 ft1 ab

(所影響的行數為 3 行)

*/ 

計算1到N中包含數字1的個數

mark n為正整數,計算從1到n的所有整數中包含數字1的個數。比如,n 10,從1,2.10,包含有2個數字1。相信很多人都能立刻得出以下的解法 for n n 這是最直接的解法,但遺憾的是,時間複雜程度為o n logn 因為還需要迴圈判斷當前的n的各位數,該判斷的時間複雜程度為o logn 接...

計算0到N中包含數字1的個數(整合)

有這樣乙個函式f n 對於任意正整數n,它表示從 0 到 n 之間出現 1 的個數,比如 f 1 1,f 13 6,請列出從 1 到 1234567890 中所有的 f n n 的n,要求準確快速.相信很多人都能立刻得出以下的解法 for n n 這是最直接的解法,但遺憾的是,時間複雜程度為o n ...

請輸出1到400之間所有數字中包含的1的個數

請輸出1到400之間所有數字中包含的1的個數,比如數字1中包含了乙個1,數字11中包含了兩個1,數字20中不包含1,數字1到21中共包含了13個1。function getcount 輸出 180 console.log getcount 答案一這個答案比較經典,效能也算是很不錯的了 const s...