欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQL?Server數(shù)據(jù)表模糊查詢(like用法)以及查詢函數(shù)詳解

 更新時間:2024年05月28日 11:47:00   作者:葡萄架子  
使用SQL Server查詢時經(jīng)常會使用模糊查詢,需要查詢包含的指定字符串內(nèi)容,這篇文章主要給大家介紹了關于SQL?Server數(shù)據(jù)表模糊查詢(like用法)以及查詢函數(shù)的相關資料,需要的朋友可以參考下

一、模糊查詢(like)

在SQL Server Management Studio (SSMS) 中,進行模糊查詢主要是通過使用like操作符來實現(xiàn)的。like操作符用于在where語句中搜索列中具有指定模式的數(shù)據(jù)。
我們在簡單例子中來了解:

  • % 通配符:表示任意數(shù)量的字符。

    select * from table_name where column_name like '%pattern%';
    

    這個例子會選擇column_name列中包含"pattern"這個詞的所有記錄,就是不管內(nèi)容是啥,只要里面包含pattern就會被查詢到。

  • _ 通配符:表示單個字符。

    select * from table_name where column_name like '_pattern%';
    

    這個例子會選擇column_name列中以任意單個字符開頭,后面跟著"pattern"的所有記錄。比如:apattern、bpattern

  • [] 字符集:匹配括號內(nèi)的任意單個字符。

    select * from table_name where column_name like '[a-c]pattern%';
    

    這個例子會選擇column_name列中以"a"、"b"或"c"開頭,后面跟著"pattern"的所有記錄。

  • [^] 或 [!] 負字符集:不匹配括號內(nèi)的任意單個字符。

    select * from table_name where column_name like '[^a-c]pattern%';
    

    這個例子會排除column_name列中以"a"、"b"或"c"開頭的記錄,但會選擇以其他字符開頭后面跟著"pattern"的所有記錄。

  • in 字符集:不匹配括號內(nèi)的任意單個字符。in 操作符允許在where子句中指定多個值,用來測試某個列的值是否包含在指定的值列表中。如果列的值匹配列表中的任意一個值,那么這個記錄就會被選中。

select StudentName,StudentAddress,Birthday from Students
where StudentName in('王小二','小丹')

這條語句選取名字為“王小二”或“小丹”的學生的名字、地址和出生日期。

使用like操作符時,要注意%_可以放在模式的任何位置,并且可以使用多個通配符來構造復雜的搜索模式。此外,模糊查詢可能會影響數(shù)據(jù)庫查詢性能,特別是當通配符出現(xiàn)在模式的開始時,因為這會阻止SQL Server使用索引進行搜索。

二、查詢函數(shù)

我們先來匯總一些比較常用的函數(shù)
在SQL Server Management Studio中,可以使用多種內(nèi)置的查詢函數(shù)來執(zhí)行數(shù)據(jù)檢索和轉(zhuǎn)換。這些函數(shù)屬于不同的類別,如字符串函數(shù)、數(shù)值函數(shù)、日期和時間函數(shù)、轉(zhuǎn)換函數(shù)等。以下是一些常用的SQL Server查詢函數(shù)的分類和例子:

  • 字符串函數(shù):

    • len(string): 返回字符串的長度。
    • charindex(substring, string): 返回子字符串在字符串中的位置。
    • substring(string, start, length): 返回字符串的一個子字符串。
    • replace(string, old_substring, new_substring): 替換字符串中的所有指定子字符串。
    • left(string, number_of_chars): 返回字符串左側(cè)的指定數(shù)量的字符。
    • right(string, number_of_chars): 返回字符串右側(cè)的指定數(shù)量的字符。
    • lower(string): 將字符串轉(zhuǎn)換成小寫。
    • upper(string): 將字符串轉(zhuǎn)換成大寫。
    • trimi(string): 去掉字符串左側(cè)的空格。
    • rtrim(string): 去掉字符串右側(cè)的空格。
    • concat(string1, string2, ...): 連接兩個或多個字符串。
  • 數(shù)值函數(shù):

    • abs(number): 返回數(shù)字的絕對值。
    • floor(number): 返回小于或等于指定數(shù)字的最大整數(shù)。
    • ceiling(number): 返回大于或等于指定數(shù)字的最小整數(shù)。
    • round(number, decimals): 返回數(shù)字四舍五入到指定的小數(shù)位數(shù)后的值。
    • SUM(column): 返回某列數(shù)值總和。
    • AVG(column): 返回某列的平均值。
    • MIN(column): 返回某列的最小值。
    • MAX(column): 返回某列的最大值。
      舉個例子:比如我們有一個統(tǒng)計學生分數(shù)的表ScoreList
select sum(Csharp) as C# 總成績 from ScoreList
select 總?cè)藬?shù)=count(*)from Students

select MAX(Csharp) as C#最高,MIN(Csharp) as C#最低分,AVG(Csharp) as C#平均分 from ScoreList

這些SQL查詢語句用于從數(shù)據(jù)庫表中提取特定的統(tǒng)計信息:

select sum(Csharp) as C# 總成績 from ScoreList

這個查詢計算 ScoreList 表中 Csharp 列(代表學生的C#成績)的值的總和,并將結果命名為 C# 總成績。查詢的結果將是所有記錄中C#成績的總和。

select 總?cè)藬?shù)=count(*) from Students

這個查詢計算 Students 表中的記錄數(shù),即學生總數(shù),并將這個數(shù)命名為 總?cè)藬?shù)。count(*) 函數(shù)計算表中的記錄總數(shù),包括所有的行,無論列值是否為NULL。

select MAX(Csharp) as C#最高,MIN(Csharp) as C#最低分,AVG(Csharp) as C#平均分 from ScoreList

這個查詢從 ScoreList 表中提取三個統(tǒng)計數(shù)據(jù):

  • MAX(Csharp) as C#最高:C#成績的最高值,結果列命名為 C#最高。
  • MIN(Csharp) as C#最低分:C#成績的最低值,結果列命名為 C#最低分。
  • AVG(Csharp) as C#平均分:C#成績的平均值,結果列命名為 C#平均分。
  • 日期和時間函數(shù):

    • getdate(): 返回當前系統(tǒng)的日期和時間。
    • datepart(part, date): 返回日期的指定部分(如年、月、日)。
    • datediff(part, startdate, enddate): 返回兩個日期之間的差異。
    • dateadd(part, number, date): 在日期上添加指定的時間間隔。
  • 轉(zhuǎn)換函數(shù):

    • cast(expression AS data_type): 將表達式轉(zhuǎn)換為指定的數(shù)據(jù)類型。
    • convert(data_type(length), expression, style): 轉(zhuǎn)換數(shù)據(jù)類型,并可以使用風格參數(shù)。
  • 聚合函數(shù):

    • count(*): 計算表中的記錄數(shù)。
    • cout(column): 計算某列非NULL值的數(shù)目。
    • group by: 用于結合聚合函數(shù),按一個或多個列對結果集進行分組。
  • 其他有用函數(shù):

    • isnull(check_expression, replacement_value): 檢查一個表達式是否為null,如果是,則返回替代值。
    • coalesce(expression1, expression2, ...): 返回參數(shù)列表中第一個非NULL表達式。

這些函數(shù)可以在查詢中單獨使用,或者結合其他SQL語句來提高數(shù)據(jù)處理的能力和靈活性。通過這些函數(shù),可以對數(shù)據(jù)進行有效的處理和轉(zhuǎn)換,以滿足各種復雜的業(yè)務邏輯需求。

總結

到此這篇關于SQL Server數(shù)據(jù)表模糊查詢(like用法)以及查詢函數(shù)的文章就介紹到這了,更多相關SQLServer數(shù)據(jù)表模糊查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論