首页 > Linux操作系统 > Linux操作系统 > 全文檢索以及一些零散學習
伺服器角色與資料庫角色的差異在與:伺服器角色的對象是伺服器,固定只有7中,不能夠增加.而資料庫角色的對象是資料庫,
除了預設的10種之外,可由管理者自行新增.
DDL:CREATE,ALTER,DROP
DML:INSERT,DELETE,UPDATE
DCL:GRANT,DENY,REVOKE,BEGIN TRAN,COMMIT TRAN,ROLLBACK TRAN
位元運算子
包括&(and),|(or),^(Exclusive OR)
&:當兩個運算元都為1的時候,結果為1.只要有一個不是1,結果為0
|:只要有一個是1,則結果就是1.只有當兩個都是0時,結果才是0
^:只有當兩個值不一樣時,才是1,否則為0
單一運算元運算子
總共有3種:+,-,~(補數)
print ~1 --"-2"
print ~cast(1 as tinyint) --tinyint將數值轉換成正整數類型,是為了方便示范位元的變灰.若直接用整數,則會產生負數."254"
null值的處理
coalesce(expr1,expr2....)--從左到右計算,遇到非null即傳回
nullif(expr1,expr2)--當expr1等于expr2時,傳回null,否則傳回expr1
isnull(expr1,expr2)--當expr1等于null時,傳回expr2,否則傳回expr1
建立全文檢索目錄
開啟資料庫的全文檢索功能
use test
go
sp_fulltext_database 'enable'
go
1.要建立全文檢索索引,必須有primary key,或是具備唯一性的key才行,而且不得多個欄位組合的key
2.每個資料表只能建立一個全文檢索索引,但全文檢索索引中可包含多個欄位
3.包含在全文搜索欄位中,只能是char,varchar,nvarchar,nchar,text,ntext,image,xml和varbinary等型別的欄位.
select * from dbo.A01 where contains(a0101,'keeking')
Z0001 a0101 a0102 a0103 a0104
----------- -------------------- -------------------- ----------- --------------------
100 keeking 100 19851
(1 row(s) affected)
select * from dbo.A01 where contains(a0101,' keeking ')---可以包含空格
Z0001 a0101 a0102 a0103 a0104
----------- -------------------- -------------------- ----------- --------------------
100 keeking 100 19851
(1 row(s) affected)
select * from dbo.A01 where contains(a0101,' "keeking" ')---可以包含空格,須以雙引號括起來
select * from dbo.A01 where contains(a0101,' "keeking" or "林強" ')---加上邏輯運算的搜索條件
select * from dbo.A01 where contains(a0101,' "keeki*" ')---模糊查詢一定要指明首字元,如"pa*",不可以用"*pa"或"*pa*"
select * from dbo.A01 where contains(a0101,'"keeking" near "drive"') --位置相近的字串
select * from dbo.A01 where contains(a0101,'formsof (inflectional,"drive")') --衍生字
Z0001 a0101 a0102 a0103 a0104
----------- -------------------- -------------------- ----------- --------------------
200 drive 44 44 44
500 drove 22 22 22
(2 row(s) affected)
select * from dbo.A01 where contains(a0101 ,'isabout(keeking weight(0.1))')--給字串加權計分
select * from dbo.A01 where freetext(a0101 ,'keeking')--freetext會將句子中的單詞拆分,只要符合單詞的記錄就會搜出來.而不是按句子來.這樣比較不精確
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7899089/viewspace-611786/ ,如需转载,请注明出处,否则将追究法律责任。