博文
SQL语句精选(陆续更新)(2005-11-18 09:24:00)
摘要:1:用rand() 函数 可以产生0~1的随机float型数据。
2:select NULL+'21313132' 返回NULL,NULL和任何字符串连接都是空。
3:select top 1 .....order by newid() 可以随机选择一条记录。(该语句很有用)。
4:什么是动态的sql语句。给个示例:
(注意动态sql中字符串命令必须为UNICODE码,并且在字符串和变量连接的时候有空格)
declare @sqlstring nvarchar(100)
declare @tableName nvarchar(20)
set @tableName='kch'
set @sqlstring='select * from ' + @tableName
exec sp_executesql @sqlstring
再给一个例子:
Alter PROCEDURE dbo.Test
@seltab varchar(500)
AS
begin
declare @count int
declare @sql nvarchar(1000)
set @sql = N'select @count = count(*) from '+@seltab
exec sp_executesql @sql,N'@count int Output',@count Output--都加上Output
if @co......
生成100个10字符长度的随机字符串(2005-11-18 09:20:00)
摘要:declare @zmb table (zm char)
declare @i int
set @i=ascii('A')
while(@i<=ascii('Z'))
begin
insert into @zmb values(char(@i))
set @i=@i+1
end
--生成100个10个字符的字符串
declare @n int,@m int
declare @tb table(zfc char(10))
declare @zfch varchar(10)
set @n=1
set @m=1
set @zfch=''
set nocount on
while @n<=100
begin
while @m<=10
begin
set @zfch=@zfch+(select top 1 zm from @zmb order by newid())
set @m=@m+1
end
insert into @tb values(@zfch)
set @zfch=''
set @m=1
set @n=@n+1
end
set nocount off
select * from @tb......
常用字符串函数的使用(T-SQL)(2005-11-18 09:17:00)
摘要:1:ASCII(varchar,输入),UNICODE(nvarchar,输入)
说明:得到字符的ASCII码的整数值和UNIDODE码的整数值
select ascii('a')
/*结果
97
*/
2:Char(int,输入),NChar(int,输入)
说明:由字符得到相应的ASCII码和UNICODE字符,当输入的整数找不到相应的字符时返回NULL
select char(97)
/*结果
a
*/
3:CharIndex(字符串1,字符串2)
说明:返回字符串1在字符串2中的位置,如果字符串1不在2中,则返回0
select charindex('d','abcd')
/*结果
4
*/
select charindex('cd','abcd')
/*结果
3
*/
select charindex('dd','abcd')
/*结果
0
*/
4:left(string,int)
说明:返回字符串左边的整数个字符,如果字符串的长度小于输入的整数,则返回所有字符串
select left('abcdef',3)
/*结果
abc
*/
5:right(string,int)
说明:返回字符串右边的整数个字符,如果字符串的长度小于输入的整数,则返回所有字符串
select right('abcdef',3......