當前位置:首頁 » 編程語言 » sql只包含一個字元
擴展閱讀
前端設計哪家好 2023-03-28 08:16:08

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 '%#%' ;

值得注意的是你查詢的特定字元串中,包含「_」或「%」
就要使用轉義符「\」

例如你要查詢的特定字元串是「[email protected]

SELECT * FROM A
WHERE Samp like '%\[email protected]%' 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 ' [email protected] +' where '
select @[email protected]+name+' like ''%'[email protected]+'%'' 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