㈠ 如何sql查詢欄位值包含於字元串
select * from table_a where charindex('a',id)>0 or charindex('b',id)>0
table_a 表中 id欄位中含有"a"或者"b"的記錄.
---------------------------------------------------
CHARINDEX
返回字元串中指定表達式的起始位置。
語法
CHARINDEX ( expression1 , expression2 [ , start_location ] )
參數
expression1
一個表達式,其中包含要尋找的字元的次序。expression1 是一個短字元數據類型分類的表達式。
expression2
一個表達式,通常是一個用於搜索指定序列的列。expression2 屬於字元串數據類型分類。
start_location
在 expression2 中搜索 expression1 時的起始字元位置。如果沒有給定 start_location,而是一個負數或零,則將從 expression2 的起始位置開始搜索。
返回類型
int
注釋
如果 expression1 或 expression2 之一屬於 Unicode 數據類型(nvarchar 或 nchar)而另一個不屬於,則將另一個轉換為 Unicode 數據類型。
如果 expression1 或 expression2 之一為 NULL 值,則當資料庫兼容級別為 70 或更大時,CHARINDEX 返回 NULL 值。當資料庫兼容級別為 65 或更小時,CHARINDEX 僅在 expression1 和 expression2 都為 NULL 時返回 NULL 值。
如果在 expression2 內沒有找到 expression1,則 CHARINDEX 返回 0。
㈡ 如何用sql語句,判斷資料庫中某欄位的內容,包含於某字元串
select*from表名where欄位名like'%關鍵字%'
上述語句是在「表名」中的「欄位名」列搜索包含「關鍵字」的語句
㈢ 現在用sql語句查出來欄位里包含某個字元串的所有記錄怎麼查
一般用substring函數截取出特定欄位,如
--用戶姓名第二個字是'大'字的
select * from Users where SUBSTRING(UserName,2,1)='大'
第二種方法就是直接like模糊查詢,看具體情況使用
select * from Users where UserName like '%大%'
㈣ sql語句中查找某欄位中含有某字元串的語句怎麼寫
select filename from oa_file where filename not like '%[!-¥]%'
或者這個:
select filename from oa_file where filename not like '%[!-?]%'
出現的問題就是問號和問好也是不一樣的,比如說英文標點半形的問號是「?」,英文標點全形的問號是「?」但是中文半形問號是「?」中文全形的問號是「?」
這些都是不一樣的,你搜出來的都是帶有英文半形問號的文件。
(4)sql查詢欄位包含字元串擴展閱讀:
SQL中的欄位「包含」與「包含於」字元串的寫法
1、查詢表中某欄位值「包含」某字元串的所有記錄的方法
假如表中有一個name欄位,查詢name包含「張三」的所有記錄,可以這樣寫sql:
Stirng strsql="SELECT * FROM 表名 WHERE name LIKE 』%"+"張三"+"%』";
2、查詢某欄位值「包含於」某個字元串的所有記錄的方法
如果查詢表中name欄位包含於字元串「張三是個好學生」的所有記錄,可以這樣寫sql:
String strsql="SELECT * FROM 表名 WHERE INSTR(』張三是個好學生』,name)>0";
即可查詢,記錄中的name欄位值中包括:張、三、是、個、好、學、生、張三、......等所有記錄。
註:以上sql字元串中請將全形符號改為半形符號。
㈤ 在sql語句中怎麼判斷一個欄位是否包含在另一個字元串中
思路是,讀取B.name字元串後進行字元串的的分割 name.,然後最後執行模糊查詢A表,可以這樣
WHERE (A.nameLIKE '%查%') AND (A.nameLIKE '%體%')
只能說完全用sql語句實現,有點難吧!
string name = "查體";
char[] NameChar = name.ToArray();
string SqlStr = "select * from A ";
for (int i = 0; i < NameChar.Count(); i++)
{
if (i == 0)
{
SqlStr += "where A.name LIKE'%" + NameChar[0] + "%'";
}
else
{
SqlStr += " and A.name LIKE'%" + NameChar[i] + "%'";
}
}
可以告訴你,沒有關聯查一個表還行,兩個表都來不太可能。
㈥ 請教SQL語句的字元串包含查詢
其實你說的這種被包含的關系在實際應用中沒有必要,因為
實際
使用
中都
是某一欄位
LIKE
『字元串公式』,無所謂包含還是被包含,LIKE
表達式
僅僅是
=
等號的擴展。
㈦ MySQL 查詢某個欄位包含一個字元串的SQL語句
DROP TABLE IF EXISTS `test_user`;
CREATE TABLE `test_user` (
`id` int(11) NOT NULL,
`name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`hobby` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `test_user` VALUES (1, 'beibei', 'feifei,guanguan,xiangxiang');
INSERT INTO `test_user`(`id`, `name`, `hobby`) VALUES (2, 'feifei', 'call');
表結構如下:(注意兩個字元串之間的分割是英文逗號)
參數一:表示要查詢的字元串。
參數二:表示在表中的哪個欄位中查詢,填欄位名。
例如:FIND_IN_SET("feifei",hobby)
執行結果如下:
執行語句如下:
SELECT * FROM test_user WHERE hobby like '%guanguan%';
執行結果如下:
㈧ sql怎麼查詢欄位中包含一個字元串,不要用like
可以使用:SELECT 欄位2 FROM 數據表名 WHERE 欄位2 = '3',如果是要包含字元3的話,使用:SELECT欄位2FROM數據表名WHERE欄位2LIKE '%3%'。