sql欄位包含
⑴ sqlsql server 中如何判斷一個欄位中包含另一個欄位,並記錄下來,生成新表
查詢寫法如下:
select 日期,計劃ID,消費,項目 into 新表 from 表A,表B where charindex(項目代碼,計劃ID)>0
charindex函數就是判斷a是否包含在b中。。
⑵ sql怎麼查詢欄位中包含一個字元串,不要用like
可以使用:SELECT 欄位2 FROM 數據表名 WHERE 欄位2 = '3',如果是要包含字元3的話,使用:SELECT欄位2FROM數據表名WHERE欄位2LIKE '%3%'。
⑶ sql 判斷欄位中是否含有字元
1. 查詢字元串中是否包含非數字字元
SELECT PATINDEX('%[^0-9]%', '1235X461')
SELECT PATINDEX('%[^0-9]%', '12350461')
2. 查詢字元串中是否包含數字字元
SELECT PATINDEX('%[0-9]%', 'SUYLLGoO')
SELECT PATINDEX('%[0-9]%', 'SUYLLG0O')
3.函數判斷字元串只包含數字
CREATE FUNCTION [dbo].fn_IsNumeric
(
@pString VARCHAR(8000)
)
RETURNS bit
WITH ENCRYPTION
AS
BEGIN
DECLARE @vJudge int
SET @vJudge = 0
SELECT @vJudge =
CASE
WHEN PATINDEX('%[0-9]%', LOWER(@pString)) > 0 THEN 0
WHEN PATINDEX('%[0-9]%', LOWER(@pString)) = 0 THEN 1
END
RETURN @vJudge
END
4.函數判斷字元串只包含字母(忽略大小寫)
CREATE FUNCTION [dbo].fn_IsAlpha
(
@pString VARCHAR(8000)
)
RETURNS bit
WITH ENCRYPTION
AS
BEGIN
DECLARE @vJudge int
SET @vJudge = 0
SELECT @vJudge =
CASE
WHEN PATINDEX('%[a-z]%', LOWER(@pString)) > 0 THEN 0
WHEN PATINDEX('%[a-z]%', LOWER(@pString)) = 0 THEN 1
END
RETURN @vJudge
END
5. 函數判斷字元串不包含任何符號(包括空格)
CREATE FUNCTION [dbo].fn_IsAlphanumeric
(
@pString VARCHAR(8000)
)
RETURNS bit
WITH ENCRYPTION
AS
BEGIN
DECLARE @vJudge int
SET @vJudge = 0
SELECT @vJudge =
CASE
WHEN PATINDEX('%[^a-z0-9]%', LOWER(@pString)) > 0 THEN 0
WHEN PATINDEX('%[^a-z0-9]%', LOWER(@pString)) = 0 THEN 1
END
RETURN @vJudge
END
6. 函數判斷字元串不包含任何符號(除空格外)
CREATE FUNCTION [dbo].fn_IsAlphanumericBlank
(
@pString VARCHAR(8000)
)
RETURNS bit
WITH ENCRYPTION
AS
BEGIN
DECLARE @vJudge int
SET @vJudge = 0
SELECT @vJudge =
CASE
WHEN PATINDEX('%[^a-z0-9 ]%', LOWER(@pString)) > 0 THEN 0
WHEN PATINDEX('%[^a-z0-9 ]%', LOWER(@pString)) = 0 THEN 1
END
RETURN @vJudge
END
⑷ 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語句中怎麼判斷一個欄位是否包含在另一個字元串中
sql語句判斷一個欄位是否包含在另一個字元串中的方法
一、語句中使用到的函數有
1、CHARINDEX:函數返回字元或者字元串在另一個字元串中的起始位置。
語法:CHARINDEX ( expression1 , expression2 [ , start_location ] )
expression1是要到expression2中尋找的字元中,start_location是CHARINDEX函數開始在expression2中找expression1的位置。
CHARINDEX函數返回一個整數,返回的整數是要找的字元串在被找的字元串中的位置。假如CHARINDEX沒有找到要找的字元串,那麼返回0
2、rtrim:函數去除字元串右邊的空格符。
二、例子中的表格為:tt,結構數據如下
⑹ 如何SQL查詢欄位值包含於字元串
1、我們新建查詢後,寫上Select關鍵字。