cdmax cdmin应该也是long吧,应该要和cd一样,看你数据库里的是什么类型了如果不是就用cast()转换数据类型试下吧
select from where cast('"&cd&"' as long) > cast(cdmin as long) and cast('"&cd&"' as long) < cast(cdmax as long)
试下看看
int 整型 int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节
tinyint 整型 tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。 这种数据类型在数据库中占用1 个字节
float 近似数值型 float 数据类型是一种近似数值类型,供浮点数使用。说浮点数是近似的,是因为在其范围内不是所有的数都能精确表示。浮点数可以是从-179E+308到179E+308 之间的任意数
bit 整型 bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off
char 字符型 char数据类型用来存储指定长度的定长非统一编码型的数据。当定义一列为此类型时,你必须指定列长。当你总能知道要存储的数据的长度时,此数据类型很有用。例如,当你按邮政编码加4个字符格式来存储数据时,你知道总要用到10个字符。此数据类型的列宽最大为8000 个字符
varchar 字符型 varchar数据类型,同char类型一样,用来存储非统一编码型字符数据。与char 型不一样,此数据类型为变长。当定义一列为该数据类型时,你要指定该列的最大长度。 它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度
nchar 统一编码字符型 nchar 数据类型用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符,而不是用单字节(普通文本中的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符,使用的字节空间上增加了一倍
nvarchar 统一编码字符型 nvarchar 数据类型用作变长的统一编码字符型数据。此数据类型能存储4000种字符,使用的字节空间增加了一倍
text 字符型 text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符
datetime 日期时间型 datetime数据类型用来表示日期和时间。这种数据类型存储从1753年1月1日到9999年12月3 1日间所有的日期和时间数据, 精确到三百分之一秒或333毫秒
Smalldatetime 日期时间型 smalldatetime 数据类型用来表示从1900年1月1日到2079年6月6日间的日期和时间,精确到一分钟
image 二进制数据类型 image 数据类型用来存储变长的二进制数据,最大可达231-1或大约20亿字节
基本查询
select column1,columns2,
from table_name
说明:把table_name 的特定栏位资料全部列出来
select
from table_name
where column1 =
[and column2 > yyy] [or column3 <> zzz]
说明:
1''表示全部的栏位都列出来。
2where 之后是接条件式,把符合条件的资料列出来。
select column1,column2
from table_name
order by column2 [desc]
说明:order by 是指定以某个栏位做排序,[desc]是指从大到小排列,若没有指明,则是从小到大
排列
组合查询
组合查询是指所查询得资料来源并不只有单一的表格,而是联合一个以上的
表格才能够得到结果的。
select
from table1,table2
where table1colum1=table2column1
说明:
1查询两个表格中其中 column1 值相同的资料。
2当然两个表格相互比较的栏位,其资料形态必须相同。
3一个复杂的查询其动用到的表格可能会很多个。
整合性的查询:
select count ()
from table_name
where column_name =
说明:
查询符合条件的资料共有几笔。
select sum(column1)
from table_name
说明:
1计算出总和,所选的栏位必须是可数的数字形态。
2除此以外还有 avg() 是计算平均、max()、min()计算最大最小值的整合性查询。
select column1,avg(column2)
from table_name
group by column1
having avg(column2) >
说明:
1group by: 以column1 为一组计算 column2 的平均值必须和 avg、sum等整合性查询的关键字
一起使用。
2having : 必须和 group by 一起使用作为整合性的限制。
复合性的查询
select
from table_name1
where exists (
select <BR>from table_name2
where conditions )
说明:
1where 的 conditions 可以是另外一个的 query。
2exists 在此是指存在与否。
select
from table_name1
where column1 in (
select column1
from table_name2
where conditions )
说明:
1 in 后面接的是一个集合,表示column1 存在集合里面。
2 select 出来的资料形态必须符合 column1。
其他查询
select
from table_name1
where column1 like 'x%'
说明:like 必须和后面的'x%' 相呼应表示以 x为开头的字串。
select
from table_name1
where column1 in ('','yyy',)
说明:in 后面接的是一个集合,表示column1 存在集合里面。
select
from table_name1
where column1 between xx and yy
说明:between 表示 column1 的值介於 xx 和 yy 之间。
3、更改资料:
update table_name
set column1=''
where conditoins
说明:
1更改某个栏位设定其值为''。
2conditions 是所要符合的条件、若没有 where 则整个 table 的那个栏位都会全部被更改。
4、删除资料:
delete from table_name
where conditions
说明:删除符合条件的资料。
说明:关于where条件后面如果包含有日期的比较,不同数据库有不同的表达式。具体如下:
(1)如果是access数据库,则为:where mydate>#2000-01-01#
(2)如果是oracle数据库,则为:where mydate>cast('2000-01-01' as date)
或:where mydate>to_date('2000-01-01','yyyy-mm-dd')
在delphi中写成:
thedate='2000-01-01';
query1sqladd('select from abc where mydate>cast('+''''+thedate+''''+' as date)');
如果比较日期时间型,则为:
where mydatetime>to_date('2000-01-01 10:00:01','yyyy-mm-dd hh24:mi:ss')
4、增加资料:
insert into table_name (column1,column2,)
values ( value1,value2, )
说明:
1若没有指定column 系统则会按表格内的栏位顺序填入资料。
2栏位的资料形态和所填入的资料必须吻合。
3table_name 也可以是景观 view_name。
insert into table_name (column1,column2,)
select columnx,columny, from another_table
说明:也可以经过一个子查询(subquery)把别的表格的资料填入。
动态SQL拼接,然后Exec执行就可以了
declare @sql varchar(4000)
select @sql='select from TABLE'+cast(year(getdate()) as varchar(4))
exec @sql
SQL数据类型有以下这些:
1、二进制数据类型。
二进制数据包括 Binary、Varbinary 和 Image
Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。
Binary[(n)] 是 n 位固定的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储空间的大小是 n + 4 个字节。
Varbinary[(n)] 是 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储空间的大小是 n + 4个字节,不是n 个字节。
2、字符数据类型。
字符数据类型包括char、varchar和text。
字符数据是由字母、符号和数字的任意组合组成的数据。
varchar是可变长度字符数据,其长度不超过8kb。char是最大长度为8kb的固定长度字符数据。超过8kb的ASCII数据可以使用文本数据类型存储。
3、Unicode 数据类型。
Unicode数据类型包括nchar、nvarchar和ntext。
在Microsoft SQL Server中,传统的非Unicode数据类型允许使用由特定字符集定义的字符。在安装SQL Server期间,允许选择字符集。
在Unicode标准中,包含由各种字符集定义的所有字符。使用Unicode数据类型占用的空间是使用非Unicode数据类型的两倍。
4、日期和时间数据类型。
日期和时间数据类型包括 Datetime 和 Smalldatetime两种类型。
日期和时间数据类型由有效的日期和时间组成。
例如,有效的日期和时间数据包括“4/01/98 12:15:00:00:00 PM”和“1:28:29:15:01AM 8/17/98”。
前一个数据类型是日期在前,时间在后。后一个数据类型是时间在前,日期在后。
在 Microsoft SQL Server中,日期和时间数据类型包括Datetime 和 Smalldatetime 两种类型时,所存储的日期范围是从 1753 年 1 月 1 日开始,到9999 年12 月 31 日结束(每一个值要求 8 个存储字节)。
5、数字数据类型。
数字数据只包含数字。数字数据类型包括正数和负数、小数(浮点)和整数。
整数由正整数和负整数组成,如39、25、0-2和33967。在Microsoft SQL Server中,存储在整数中的数据类型是int、smallint和tinyint。
int数据类型存储的数据多于smallint数据类型,而smallint数据类型存储的数据多于tinyint数据类型。
使用int数据类型存储数据的范围从-2 147 483 648到2 147 483 647(每个值需要四个字节的存储空间)。
6、货币数据类型。
在 Microsoft SQL Server 中,货币数据的数据类型是Money 和 Smallmoney
Money数据类型要求 8 个存储字节,Smallmoney 数据类型要求 4 个存储字节。
参考资料来源:百度百科-SQL数据类型
TEXTPTR(column)函数,
TEXTPTR函数返回一个指向存储文本的第一个数据库页的指针其返回值是一个VARBINARY16类型的二进制字符串如果数据类型为TEXT,NTEXT或IMAGE的列没有赋予初值则TEXTPTR函数返回一个NULL指针
它也是要和readtext一起用的,下面是个例子:
USE pubs
GO
DECLARE @ptrval varbinary(16)
SELECT @ptrval = TEXTPTR(pr_info)
FROM pub_info pr INNER JOIN publishers p
ON prpub_id = ppub_id
AND ppub_name = 'New Moon Books'
READTEXT pub_infopr_info @ptrval 1 25
GO
以上就是关于SQL语言要用变量查询怎么写全部的内容,包括:SQL语言要用变量查询怎么写、SQL中数据类型有哪些、SQL怎么在查询变量表中的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)