当前位置:首页 » 编程语言 » sql只包含一个字符
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql只包含一个字符

发布时间: 2023-01-29 02:09:07

sql语句将字段中含有某一字符的统一修改为令一个字符

char(10):可以存储10个英文字符,即10个字节。可以存储10/2=5个中文字符,因为每个中文字符占2个字节。
其它的楼上已经说得很清楚了。

Ⅱ sql语句创建规则中必须包含某个字符

用单引号包起来 '@' 当字符串 + 字符串处理。

Ⅲ 我需要用sql语句来查询 某个字段值 中包含一个 特定字符串 的所有数据,请问用sql server2005要怎样实现。

使用模糊查询

假设字段为名 Samp 查询Samp中包含“#”这个字符,表名为 A

SELECT * FROM A
WHERE Samp like '%#%' ;

值得注意的是你查询的特定字符串中,包含“_”或“%”
就要使用转义符“\”

例如你要查询的特定字符串是“_@”

SELECT * FROM A
WHERE Samp like '%\_@%' ESCAPE '\' ;

Ⅳ sql怎么查询字段中包含一个字符串,不要用like

可以使用:SELECT 字段2 FROM 数据表名 WHERE 字段2 = '3',如果是要包含字符3的话,使用:SELECT字段2FROM数据表名WHERE字段2LIKE '%3%'。

Ⅳ 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 查询所有字段是否包含一个字符

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语句:查询1,2,3,4中包含其中某个字符的数据

查出只有3的数据,在查询结果里加入where share=‘3’ 查询包括3的,加入where share like‘&3&’ 查询以3开头的 where share like‘3&&’

Ⅷ 查询数据库所有表中的所有字段 包含一个字符串 这SQL可以实现吗

查询数据库所有表中的所有字段 包含一个字符串 这SQL可以实现吗
--通过如下语句得到当前Sql server中所有的数据的名称:
use master
select [name] from [sysdatabases] order by [name]
go--通过查询其中一个数据库aspnetpager,就可以得到这个数据库中的所有的表名了,语句如下:
use ???select [id], [name] from [sysobjects] where [type] = 'u' and name ='???' order by [name]--通过上面的查询的id,可以查出这个表中所有的字段,例如我们查询BaseData表中所有的字段,就可以通过下面的语句查出:
select [name] from [syscolumns] where [id] = ??? order by [colid]
go

Ⅸ sql查找包含某些字符的列

1、首先创建模拟数据源表。

Ⅹ sql2008中如果需要查询一个数据库中所有表的所有字段包含一个字符串应该怎么写

CREATE PROCEDURE [dbo].[findStringFromSys]
-- Add the parameters for the stored procere
@StringName varchar(255)
AS
BEGIN

--1.定义需要查找的关键字。在搜索中,使用模糊搜索:LIKE '%@key_find%'
DECLARE @key_find NVARCHAR(MAX) = @StringName;--假设是找字符串"123"

--2.用游标Cursor_Table,遍历所有表
DECLARE Cursor_Table CURSOR FOR
SELECT name from sysobjects WHERE xtype = 'u' AND name <> 'dtproperties';
OPEN Cursor_Table;
DECLARE @tableName NVARCHAR(MAX);
FETCH NEXT from Cursor_Table INTO @tableName;
WHILE @@fetch_status = 0
BEGIN
DECLARE @tempSQLText NVARCHAR(MAX) = '';

--3.在表中,用游标columnCursor,遍历所有字段。注意,只遍历字符串类型的字段(列)
DECLARE columnCursor CURSOR FOR
SELECT Name FROM SysColumns WHERE ID = Object_Id( @tableName ) and
(
xtype = 35 or --text
xtype = 99 or --ntext
xtype = 167 or --varchar
xtype = 175 or --char
xtype = 231 or --nvarchar
xtype = 239 or --nchar
xtype = 241 --xml
)
OPEN columnCursor;
DECLARE @columnName NVARCHAR(MAX);
FETCH NEXT from columnCursor INTO @columnName;
WHILE @@fetch_status = 0
BEGIN

--4.在表的字段中,对每一行进行模糊搜索,并输出找到的信息。
DECLARE @DynamicSQLText NVARCHAR(MAX) = 'IF ( EXISTS ( SELECT * FROM [' + @tableName + '] WHERE [' + @columnName + '] LIKE ''%' + @key_find + '%'' ) ) BEGIN DECLARE @CurrentTableCount Bigint = ( SELECT COUNT(*) From [' + @tableName + '] ); PRINT ''Find : Table [' + @tableName + '], Column [' + @columnName + '], Row Count:'' + CAST( @CurrentTableCount AS NVARCHAR(MAX) ) + ''.''; END';
EXEC( @DynamicSQLText );
FETCH NEXT from columnCursor INTO @columnName
END
exec(@tempSQLText);
CLOSE columnCursor;
DEALLOCATE columnCursor;
FETCH NEXT from Cursor_Table INTO @tableName;
END
CLOSE Cursor_Table;
DEALLOCATE Cursor_Table;

END

GO