sql判斷字元串
⑴ sql 如何比較兩個字元串是否完全相等
1、新建一個文件,命名為test.php。
⑵ 怎麼用sql語句判斷字元串是否是日期格式
具體思路:
1.判斷字元串是否8位
2.如果是8位,通過datalength判斷是否8位,如果不是8位,說明字元串中存在漢字或者不可見字元
3.通過Ascii碼對8位中的每一位字元進行判斷,目的是判斷是否數字(按照AsciI碼可以避免不可見字元)
4.如果符合上述3中條件,說明字元是8位的數字,判斷是否正常日期
⑶ SQL中判斷字元串相等的函數
不區分大小寫的話用函數nullif(value1,value2) -- value1 非NULL值,相等返回null,不相等返回值1
declare @s1 varchar(100),@s2 varchar(100)
set @s1 = 'abc'
set @s2 = 'ABC'
select isnull(nullif(@s1,@s2),'相等') -- 執行返回相等
區分大小寫的話用HashBytes函數
⑷ SQL查詢中,如何判斷一個字元串欄位的內容的長度
實現的方法和詳細的操作步驟如下:
1、首先,打開sql查詢器,並連接相應的資料庫表,例如store表,如下圖所示。
⑸ sql判斷字元串中是否包含某個字元串
select * from 表名 where 欄位 like %指定字元串%
⑹ 如何用SQL語句判斷字元串
select *
from table1
where char1 like '%mystring%'
『%』表示長度大於等於0的任意字元串,而『?』可以表示一個字元。
⑺ 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 怎麼判斷是否含有字元串
不知道您說的SQL是SQL語句還是 SQL資料庫,
如果是SQL語句就要分下資料庫了,
1.我這邊機器就安裝了mysql,查找包含某個字元串的語句是
SELECT * FROM 『表名』 WHERE LOCATE('包含的字元串',『欄位』) > 0
LOCATE返回子串substr在字元串str第一個出現的位置,如果substr不是在str裡面,返回0.
2.如果是SQL資料庫
SELECT * FROM 『表名』 WHERE charindex('包含的字元串',『欄位』) > 0
charindex 類似於 LOCATE 功能
⑼ 在sql語句中怎麼判斷一個欄位是否包含在另一個字元串中
sql語句判斷一個欄位是否包含在另一個字元串中的方法
一、語句中使用到的函數有
1、CHARINDEX:函數返回字元或者字元串在另一個字元串中的起始位置。
語法:CHARINDEX ( expression1 , expression2 [ , start_location ] )
expression1是要到expression2中尋找的字元中,start_location是CHARINDEX函數開始在expression2中找expression1的位置。
CHARINDEX函數返回一個整數,返回的整數是要找的字元串在被找的字元串中的位置。假如CHARINDEX沒有找到要找的字元串,那麼返回0
2、rtrim:函數去除字元串右邊的空格符。
二、例子中的表格為:tt,結構數據如下
⑽ sql 怎麼判斷一個字元串包含在另一個字元串
三、取子串函數
1、left()
LEFT(<character_expression>,<integer_expression>)
返回character_expression左起integer_expression個字元。
2、RIGHT()
RIGHT(<character_expression>,<integer_expression>)
返回character_expression右起integer_expression個字元。
3、SUBSTRING()
SUBSTRING(<expression>,<starting_position>,length)
返回從字元串左邊第starting_position個字元起length個字元的部分。
四、字元串比較函數
1、CHARINDEX()----這個應該是你想要的函數!!
返回字元串中某個指定的子串出現的開始位置。
CHARINDEX(<』substring_expression』>,<expression>)
其中substring_expression是所要查找的字元表達式,expression可為字元串也可為列名表達式。如果沒有發現子串,則返回0值。
此函數不能用於TEXT和IMAGE數據類型。
2、PATINDEX()
返回字元串中某個指定的子串出現的開始位置。
PATINDEX(<』%substring_expression%』>,<column_name>)其中子串表達式前後必須有百分號「%」否則返回值為0。
與CHARINDEX函數不同的是,PATINDEX函數的子串中可以使用通配符,且此函數可用於CHAR、VARCHAR和TEXT數據類型。