--VARCHAR datatype
CREATE TABLE #Test(TextField VARCHAR(50))
INSERT INTO #Test
SELECT 'Red' UNION
SELECT 'Blue' UNION
SELECT 'Green' UNION
SELECT 'Yellow' UNION
SELECT 'Orange' UNION
SELECT 'Purple'
DECLARE @TestVar VARCHAR
SET @TestVar = 'Red'
SELECT *
FROM #Test
WHERE TextField LIKE '%' + @TestVar + '%'
DROP TABLE #Test
How many records are returned from the above query?
0
1
2
3
4
5
6
请您将结果贴在回复中。7日后结贴!
CREATE TABLE #Test(TextField VARCHAR(50))
INSERT INTO #Test
SELECT 'Red' UNION
SELECT 'Blue' UNION
SELECT 'Green' UNION
SELECT 'Yellow' UNION
SELECT 'Orange' UNION
SELECT 'Purple'
DECLARE @TestVar VARCHAR
SET @TestVar = 'Red'
SELECT *
FROM #Test
WHERE TextField LIKE '%' + @TestVar + '%'
DROP TABLE #Test
How many records are returned from the above query?
0
1
2
3
4
5
6
请您将结果贴在回复中。7日后结贴!
解决方案 »
- 遇上一个SQL上的新问题,关于相同记录的提取,请高手帮忙
- 关于批量、游标的一些问题
- 关于sql server的并发问题
- 急!如何实现??
- 层次查询,请帮忙!在线等!!!!!!!!!!!!!!!!!!1
- 我想找出一个字段中所有含有的“images/images“的记录
- 打不开sql2008了
- ?数组的问题.为什么在数组中添加了数据后.在次显示就只能显示最后一条记录?????紧急
- 怎么查询一个table是不是这个库里面的
- 请问在sql server7.0中我要查询3天以内,一周以内,15天以内,1个有以内的数据时该怎样进行??谢谢!!
- dbo.testtest函数return调用dbo.source函数(变量表函数)时语法错误为对象名:dbo.source无效
- [向ALL提问]每日一个小问题
Purple
Orange
Green
DECLARE @TestVar VARCHAR
SET @TestVar = 'Red'SELECT @TestVar----
R(1 行受影响)
SET @TestVar = 'Red' --@TestVar='R'
CREATE TABLE #Test(TextField VARCHAR(50))
INSERT INTO #Test
SELECT 'Red' UNION
SELECT 'Blue' UNION
SELECT 'Green' UNION
SELECT 'Yellow' UNION
SELECT 'Orange' UNION
SELECT 'Purple'
DECLARE @TestVar VARCHAR
SET @TestVar = 'Red'select len(@TestVar)结果长度为1,@TestVar 也就只能是“R”了,So
TextField
Green
Orange
Purple
Red
SET @TestVar = 'Red'
TextField
--------------------------------------------------
Green
Orange
Purple
Red(所影响的行数为 4 行)
DECLARE @TestVar VARCHAR
没有设定长度 所以不管赋什么值,都只取第一个字符。
查询语句为:
SELECT *
FROM #Test
WHERE TextField LIKE '%' + 'R' + '%'谢谢楼主的好帖,让大家深入了解varchar定义
INSERT INTO #Test
SELECT 'Red' UNION
SELECT 'Blue' UNION
SELECT 'Green' UNION
SELECT 'Yellow' UNION
SELECT 'Orange' UNION
SELECT 'Purple'
DECLARE @TestVar VARCHAR
SET @TestVar = 'Red'
SELECT *
FROM #Test
WHERE TextField LIKE '%' + @TestVar + '%'
DROP TABLE #Test/*
TextField
--------------------------------------------------
Green
Orange
Purple
Red(所影响的行数为 4 行)*/CREATE TABLE #Test(TextField VARCHAR(50))
INSERT INTO #Test
SELECT 'Red' UNION
SELECT 'Blue' UNION
SELECT 'Green' UNION
SELECT 'Yellow' UNION
SELECT 'Orange' UNION
SELECT 'Purple'
DECLARE @TestVar VARCHAR(10)
SET @TestVar = 'Red'
SELECT *
FROM #Test
WHERE TextField LIKE '%' + @TestVar + '%'
DROP TABLE #Test/*
TextField
--------------------------------------------------
Red(所影响的行数为 1 行)
*/貌似楼主有点无聊.
Orange
Purple
Red
SET @TestVar = 'Red'看明白这个的意思了
Green
Orange
Purple
Red
--------------------------------------------------
Green
Orange
Purple
Red(所影响的行数为 4 行
INSERT INTO #Test
SELECT 'Red' UNION
SELECT 'Blue' UNION
SELECT 'Green' UNION
SELECT 'Yellow' UNION
SELECT 'Orange' UNION
SELECT 'Purple'
DECLARE @TestVar VARCHAR
SET @TestVar = 'Red'
SELECT *
FROM #Test
WHERE TextField LIKE '%' + @TestVar + '%'
/*(6 行受影响)
TextField
--------------------------------------------------
Green
Orange
Purple
Red(4 行受影响)*/
select @@version
/*
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2005 - 9.00.4053.00 (Intel X86)
May 26 2009 14:24:20
Copyright (c) 1988-2005 Microsoft Corporation
Developer Edition on Windows NT 6.1 (Build 7600: )
(1 行受影响)
*/
DROP TABLE #Test
INSERT INTO #Test
SELECT 'Red' UNION
SELECT 'Blue' UNION
SELECT 'Green' UNION
SELECT 'Yellow' UNION
SELECT 'Orange' UNION
SELECT 'Purple'
DECLARE @TestVar VARCHAR
SET @TestVar = 'RedXXXXXXXXXXXX'
SELECT *
FROM #Test
WHERE TextField LIKE '%' + @TestVar + '%'
/*(6 行受影响)
TextField
--------------------------------------------------
Green
Orange
Purple
Red(4 行受影响)*/
select @@version
/*
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Microsoft SQL Server 2005 - 9.00.4053.00 (Intel X86)
May 26 2009 14:24:20
Copyright (c) 1988-2005 Microsoft Corporation
Developer Edition on Windows NT 6.1 (Build 7600: )
(1 行受影响)
*/
DROP TABLE #Test
记住这个知识点吧
CREATE TABLE #Test(TextField VARCHAR(50))INSERT INTO #TestSELECT 'Red' UNIONSELECT 'Blue' UNIONSELECT 'Green' UNIONSELECT 'Yellow' UNIONSELECT 'Orange' UNIONSELECT 'Purple'DECLARE @TestVar VARCHARSET @TestVar = 'Red'/*区分大小写*/--ALTER TABLE #Test ALTER COLUMN TextField varchar(50) COLLATE Chinese_PRC_CS_AS /*不区分大小写*/ALTER TABLE #Test ALTER COLUMN TextField varchar(50) COLLATE Chinese_PRC_CI_ASSELECT *FROM #TestWHERE TextField LIKE '%' + @TestVar + '%'drop table #Test
可以试试!嘿嘿!
DECLARE @TestVar VARCHAR
SET @TestVar = 'Red'
SELECT @TestVar
--结果是‘R’,所以。。