sql字段包含字符
㈠ sql怎么查询字段中包含一个字符串,不要用like
可以使用:SELECT 字段2 FROM 数据表名 WHERE 字段2 = '3',如果是要包含字符3的话,使用:SELECT字段2FROM数据表名WHERE字段2LIKE '%3%'。
㈡ 在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 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查找包含某些字符的列
1、首先创建模拟数据源表。
㈤ 如何SQL查询字段值包含于字符串
1:可以利用CHARINDEX(或者 PATINDEX) 函数返回字符或者字符串在另一个字符串中的起始位置。 SELECT CHARINDEX('ad','rrdadgff') 返回4; 2:可以利用like进行模糊查询, like ‘%字符串%’ 3:利用全文索引
㈥ 如何用sql语句,判断数据库中某字段的内容,包含于某字符串
select*from表名where字段名like'%关键字%'
上述语句是在“表名”中的“字段名”列搜索包含“关键字”的语句
㈦ sql 查询所有字段是否包含一个字符
declare @objname nvarchar(40)
declare @word nvarchar(100)
declare @sql nvarchar(max)
set @word='搜索关键词'
set @objname = '表名'
set @sql='select * from ' +@objname +' where '
select @sql=@sql+name+' like ''%'+@word+'%'' or ' from syscolumns where id = object_id(@objname) order by colid
set @sql=SUBSTRING(@sql,1,len(@sql)-3)
exec(@sql)
以上为只要有一个字段有搜索字段就被搜出来
㈧ sql语句中查找某字段中含有某字符串的语句怎么写
select filename from oa_file where filename not like '%[!-¥]%'
或者这个:
select filename from oa_file where filename not like '%[!-?]%'
出现的问题就是问号和问好也是不一样的,比如说英文标点半角的问号是“?”,英文标点全角的问号是“?”但是中文半角问号是“?”中文全角的问号是“?”
这些都是不一样的,你搜出来的都是带有英文半角问号的文件。
(8)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字符串中请将全角符号改为半角符号。