人的一生会遇到很多很多事,快乐的,伤感的,以至于很极端的,有时候自己也无法接受某些东西,这里是我表达自己想法的净土
5月15日 第四章 sql常用函数
| 2008/05/15 14:45 | richie | Via 本站原创
字符串函数
charindex() 用来寻找一个指定的字符在另一个字符中的起始位置 charindex ('accp','my accp',1)
三个参数分别为 要查询的字符串 在哪里查询 查询起始位置 这条语句返回值是 4
len 返回传递给他的字符串长度 len('sql server 课程') 返回值12
upper 转换为大写 upper('accP') 返回'ACCP'
lower 转换为小写 lower('accP') 返回'accp'
Ltrim 清除字符串左边的空格 Ltrim(' accp ') 返回'accp '
Rtrim 清除字符串右边的空格 Rtrim(' accp ') 返回' accp'
left 从字符串左边返回指定数目的字符 left('abcdef',2) 返回'ab'
right从字符串左边返回指定数目的字符 right('abcdef',2) 返回'ef'
replace 替换一个字符串中的字符 replace('ACCP5.0','5.0','2.0') 返回'ACCP2.0'
stuff 在一个字符串中删除指定长度的字符 并在该位置插入一个新的字符串 stuff('ABCDEFG',2,3,'音乐') 返回A音乐EFG
日期函数
getdate 取得当前系统日期 getdate() 返回 今天的日期
dateadd 将指定的数值添加到指定的日期部分后的日期 dateadd(mm,4,'2008-5-3') 返回'2008-9-3'
datediff 两个日期之间的指定日期部分区别 datediff(mm,'01/01/99','05/01/99') 返回4
datename 指其中指定日期部分的字符串形式 datename(dw,''2008-05-15') 返回 '星期四'
datepart 日期中指定日期部分的整数形式 datepard(day,'01/15/2000') 返回15
数学函数
abs 取数值表达式的绝对值 abs(-42) 返回42
ceiling 取得当前数值整数部分 小数 进位 ceiling(42.3) 43
floor 取得当前数值整数部分 小数 舍弃 ceiling(42.3) 42
power 去数值表达式的n次方值 power(5,2) 表示5的2此方 返回25
round 将数值表达式四舍五入为指定精度 round(42.234,1) 返回42.2
sign 对整数返回1 对于负数返回0 sign(-5) 返回0
sqrt 取数值的平方根 sqrt(9) 返回3
系统函数
convert 用来转变数据类型 convert(varchar(5),12345) 返回'12345'
current_user 返回当前用户的名字
datalength 返回用于指定表达式的字节数
…………
还有一些就不列举了 这里说的也是一些常用的 具体的还是要看帮助文档啦
charindex() 用来寻找一个指定的字符在另一个字符中的起始位置 charindex ('accp','my accp',1)
三个参数分别为 要查询的字符串 在哪里查询 查询起始位置 这条语句返回值是 4
len 返回传递给他的字符串长度 len('sql server 课程') 返回值12
upper 转换为大写 upper('accP') 返回'ACCP'
lower 转换为小写 lower('accP') 返回'accp'
Ltrim 清除字符串左边的空格 Ltrim(' accp ') 返回'accp '
Rtrim 清除字符串右边的空格 Rtrim(' accp ') 返回' accp'
left 从字符串左边返回指定数目的字符 left('abcdef',2) 返回'ab'
right从字符串左边返回指定数目的字符 right('abcdef',2) 返回'ef'
replace 替换一个字符串中的字符 replace('ACCP5.0','5.0','2.0') 返回'ACCP2.0'
stuff 在一个字符串中删除指定长度的字符 并在该位置插入一个新的字符串 stuff('ABCDEFG',2,3,'音乐') 返回A音乐EFG
日期函数
getdate 取得当前系统日期 getdate() 返回 今天的日期
dateadd 将指定的数值添加到指定的日期部分后的日期 dateadd(mm,4,'2008-5-3') 返回'2008-9-3'
datediff 两个日期之间的指定日期部分区别 datediff(mm,'01/01/99','05/01/99') 返回4
datename 指其中指定日期部分的字符串形式 datename(dw,''2008-05-15') 返回 '星期四'
datepart 日期中指定日期部分的整数形式 datepard(day,'01/15/2000') 返回15
数学函数
abs 取数值表达式的绝对值 abs(-42) 返回42
ceiling 取得当前数值整数部分 小数 进位 ceiling(42.3) 43
floor 取得当前数值整数部分 小数 舍弃 ceiling(42.3) 42
power 去数值表达式的n次方值 power(5,2) 表示5的2此方 返回25
round 将数值表达式四舍五入为指定精度 round(42.234,1) 返回42.2
sign 对整数返回1 对于负数返回0 sign(-5) 返回0
sqrt 取数值的平方根 sqrt(9) 返回3
系统函数
convert 用来转变数据类型 convert(varchar(5),12345) 返回'12345'
current_user 返回当前用户的名字
datalength 返回用于指定表达式的字节数
…………
还有一些就不列举了 这里说的也是一些常用的 具体的还是要看帮助文档啦
5月15日 第四章 sql数据查询(一)
| 2008/05/15 14:34 | richie | Via 本站原创
使用select语句 进行查询
语法:
select <列名> from <表名> [where <查询条件表达式>] [order by <排序的列名> [ASC或者DESC]]
查询所有数据
select * from <表名>
查询指定列数据并且结果更新列名 和where的使用
select Scode As 学员编号,SName AS 学员姓名,SAddress AS 学员地址 from Students where SAddress <>'北京'
这句话的意思是 查询students表 所有地址不是北京的 显示SCode SName SAddress这三个列并且结果显示列名更新为 学员编号 学员姓名 学员地址
查询空行
select SName from Students where Semail is Null
查询所有Semail字段为空的学员姓名
select SName from Students where Semail =''这条语句和上面的区别是 这条语句是原有数据 而删除后 变为空字符串 上面的语句是从未填写过 默认值Null
在查询中使用常量列
select 姓名=Sname, 地址=Saddress,'河北新龙' as 学校名称 from students
这条语句的意思是 查询students数据表 显示Sname 和Saddress 字段 并且添加一列新的数据 学校名称 值为固定的‘河北新龙’
查询返回限制的行数
select top 5 Sname,Saddress from students where ssex = 0这条语句的意思是 查询显示5条性别为女的学员姓名 学员地址
select top 20 percent Sname,Saddress from students where ssex = 0
这条语句的意思是 查询显示20%条性别为女的学员姓名 学员地址
查询排序
select score from studentsscore order by score desc
这条语句的意思是 查询学生成绩表的学生成绩 按照降序排列显示
语法:
select <列名> from <表名> [where <查询条件表达式>] [order by <排序的列名> [ASC或者DESC]]
查询所有数据
select * from <表名>
查询指定列数据并且结果更新列名 和where的使用
select Scode As 学员编号,SName AS 学员姓名,SAddress AS 学员地址 from Students where SAddress <>'北京'
这句话的意思是 查询students表 所有地址不是北京的 显示SCode SName SAddress这三个列并且结果显示列名更新为 学员编号 学员姓名 学员地址
查询空行
select SName from Students where Semail is Null
查询所有Semail字段为空的学员姓名
select SName from Students where Semail =''这条语句和上面的区别是 这条语句是原有数据 而删除后 变为空字符串 上面的语句是从未填写过 默认值Null
在查询中使用常量列
select 姓名=Sname, 地址=Saddress,'河北新龙' as 学校名称 from students
这条语句的意思是 查询students数据表 显示Sname 和Saddress 字段 并且添加一列新的数据 学校名称 值为固定的‘河北新龙’
查询返回限制的行数
select top 5 Sname,Saddress from students where ssex = 0这条语句的意思是 查询显示5条性别为女的学员姓名 学员地址
select top 20 percent Sname,Saddress from students where ssex = 0
这条语句的意思是 查询显示20%条性别为女的学员姓名 学员地址
查询排序
select score from studentsscore order by score desc
这条语句的意思是 查询学生成绩表的学生成绩 按照降序排列显示
为何网站访客不注册的三个原因
| 2008/05/13 17:31 | richie | Via 本站原创
艾瑞分析:为何网站访客不注册的三个原因
想要把让用户引导网站(注册用户)转化率提高吗?
网站不能把访客变成注册用户有三个基本的原因:
1, 用户不知道给了你他们的个人信息,换回来什么好处
2, 信息受挑战,要求填写太少,太多或不正确的信息
3,你还没有建立信任,让人了解和你做生意会有什么的预期效果
很明显,每个因素彼此相关,从一个转到另一个。可能会有更多其他的因素,但是目前来说,这几个比较大的过错足够让你开始认识自己网站的毛病,决心开始优化的动作了。
记住,更多的注册可能并不是你需要。你可能需要的是有质量的注册者,而计划周详的网站应该帮助访问者认证自己。
我们一起工作的几个公司,注册数量减少,但是销售增加,优化了销售团队的时间和成交的比率,这都是因为注册的质量提高了。
交换价值:我的名声为您服务
很多提供免费的白皮书,案例,或者其他资源来换取访问者信息的网站在商业化他们的下载上做的很不好。下载内容包含有价值的信息,要这样看待下载的资料。
不要再认为这些下载是免费的。你跟访客要的信息是非常有价值的,对你,对访客来说都是,他们的联系方式。所以要把你的下载更加的商业化。展示给访客他们从下载重或者什么价值。所以当他们填写注册表的时候,会感觉他们他们的交换很划算。
包含文件的简介
让他们知道从下载中学到什么
让他们知道他们可以怎么利用这些信息
列出所有下载中的有用信息
让访客知道他们的信息会怎么处理,打电话联系吗(关于这点下边会讲更多)
如果你提供试用软件或者演示软件,要清楚地告诉他们:是不是功能齐全有试用时间限制的版本?演示版时间过了会怎样?在试用期提供支持吗(提起来是赢得潜在客户的好方法)。在用户注册前就列出软件的系统需求。
跟踪那些伪造的email地址,不管是无用的email地址还是hotmail,yahoo或者gmail的邮箱,如果有很多是从zhangsan@yahoo.com或[email=zhangsan@hotmail]zhangsan@hotmail[/email]来的,就说明你的访客们并不觉得你提供的资料有价值,不值得交换。
注意,有时候这些手法会导致注册量降低,但是也会让你从垃圾注册中解脱出来。你必须决定这样做是不是值得的(通常是值得的)。
帮助面对信息挑战
信息,信息,到处是信息,有些有用,有时候很难发现它有用,有的只是普通的信息,毫无用处。
确定你是不是有信息问题的一个方法是检查页面停留时间。很多时候,我服务的网站在首要内容页面停留时间短,而在FAQ页面访客停留时间长,这表明在其他页面用户找不到信息。如果用户需要依赖FAQ页面获取信息的话,就会减少他们的信任感。为什么在主要页面不能对常见问题做出回答呢,比如首页或者服务/产品页面?
站点经常把大量的信息放在网上,使得访客们找不到他们要的信息。这常常表明是信息结构的问题,但是更说明用户的需求和目的没有在网站的内容中得到满足。
另外经常忽略的一点是在网上作调查的人通常不是做决定的人。她在网上收集,归类,打印信息,送给另外一个人来做决定。你的网站是不是容易被这人理解呢?
让信息有次序的确没有容易的方法。第一要建立说服性的架构,建立用户模型,然后策划每个用户模型与网站的交互和说服他们,从而决定那些是他们需要的信息,放在哪里。
建立信任和期望
访客必须相信你。如果他们不相信你,他们就不会注册甚至成为坏的注册者。访客即使不信任你,也会注册表格的。有时他们是想从你这获得一个建议或者报价,而去你的对手那里购买。你的方案可能对他们更合适,但是你的网站和注册过程没能让他们有信心地认真对待。
大多数对你没信心的访客不会和你联系。他们害怕销售人员的骚扰,或者有时候你的网站在沟通客户的价值上效率低,他们就走了。这是个“悲剧”,特别是你认为他们会买你的东西的时候。
有些访客处在购买的前期阶段,太富“攻击性”的注册表格,会让他们紧张,认为你会把他们推到什么地方,而他们并不准备去。下边这些可以帮助你给访客注入信任:
1. 包含你公司如何操作的信息。让访客知道你什么时候会联系他们。保证你只是帮助他们决定自己的需求而不是给他们施压
2. 把About us关于我们页面做的更好
3. 在注册页问尽量少的问题,不要让访客把所有的信息都给你或者忍受一大堆的下拉菜单
4. 在网站的多个地方包含短小友善的注册表格(不只是联系我们页)。这样你可以跟踪访客在哪里填写了表格,也能了解他们对什么感兴趣
5. 清楚地告诉访客他们发了信息后会怎样,多久会得到回复。可能的话,让他们选择如何,何时和他们联系。
6. 有些访客喜欢做好电话准备。给他们准备一个信息清单,电话联系时候会比较方便。
7. 有些访客更喜欢电话联系。那就在注册表格边加上电话号码。
想要把让用户引导网站(注册用户)转化率提高吗?
网站不能把访客变成注册用户有三个基本的原因:
1, 用户不知道给了你他们的个人信息,换回来什么好处
2, 信息受挑战,要求填写太少,太多或不正确的信息
3,你还没有建立信任,让人了解和你做生意会有什么的预期效果
很明显,每个因素彼此相关,从一个转到另一个。可能会有更多其他的因素,但是目前来说,这几个比较大的过错足够让你开始认识自己网站的毛病,决心开始优化的动作了。
记住,更多的注册可能并不是你需要。你可能需要的是有质量的注册者,而计划周详的网站应该帮助访问者认证自己。
我们一起工作的几个公司,注册数量减少,但是销售增加,优化了销售团队的时间和成交的比率,这都是因为注册的质量提高了。
交换价值:我的名声为您服务
很多提供免费的白皮书,案例,或者其他资源来换取访问者信息的网站在商业化他们的下载上做的很不好。下载内容包含有价值的信息,要这样看待下载的资料。
不要再认为这些下载是免费的。你跟访客要的信息是非常有价值的,对你,对访客来说都是,他们的联系方式。所以要把你的下载更加的商业化。展示给访客他们从下载重或者什么价值。所以当他们填写注册表的时候,会感觉他们他们的交换很划算。
包含文件的简介
让他们知道从下载中学到什么
让他们知道他们可以怎么利用这些信息
列出所有下载中的有用信息
让访客知道他们的信息会怎么处理,打电话联系吗(关于这点下边会讲更多)
如果你提供试用软件或者演示软件,要清楚地告诉他们:是不是功能齐全有试用时间限制的版本?演示版时间过了会怎样?在试用期提供支持吗(提起来是赢得潜在客户的好方法)。在用户注册前就列出软件的系统需求。
跟踪那些伪造的email地址,不管是无用的email地址还是hotmail,yahoo或者gmail的邮箱,如果有很多是从zhangsan@yahoo.com或[email=zhangsan@hotmail]zhangsan@hotmail[/email]来的,就说明你的访客们并不觉得你提供的资料有价值,不值得交换。
注意,有时候这些手法会导致注册量降低,但是也会让你从垃圾注册中解脱出来。你必须决定这样做是不是值得的(通常是值得的)。
帮助面对信息挑战
信息,信息,到处是信息,有些有用,有时候很难发现它有用,有的只是普通的信息,毫无用处。
确定你是不是有信息问题的一个方法是检查页面停留时间。很多时候,我服务的网站在首要内容页面停留时间短,而在FAQ页面访客停留时间长,这表明在其他页面用户找不到信息。如果用户需要依赖FAQ页面获取信息的话,就会减少他们的信任感。为什么在主要页面不能对常见问题做出回答呢,比如首页或者服务/产品页面?
站点经常把大量的信息放在网上,使得访客们找不到他们要的信息。这常常表明是信息结构的问题,但是更说明用户的需求和目的没有在网站的内容中得到满足。
另外经常忽略的一点是在网上作调查的人通常不是做决定的人。她在网上收集,归类,打印信息,送给另外一个人来做决定。你的网站是不是容易被这人理解呢?
让信息有次序的确没有容易的方法。第一要建立说服性的架构,建立用户模型,然后策划每个用户模型与网站的交互和说服他们,从而决定那些是他们需要的信息,放在哪里。
建立信任和期望
访客必须相信你。如果他们不相信你,他们就不会注册甚至成为坏的注册者。访客即使不信任你,也会注册表格的。有时他们是想从你这获得一个建议或者报价,而去你的对手那里购买。你的方案可能对他们更合适,但是你的网站和注册过程没能让他们有信心地认真对待。
大多数对你没信心的访客不会和你联系。他们害怕销售人员的骚扰,或者有时候你的网站在沟通客户的价值上效率低,他们就走了。这是个“悲剧”,特别是你认为他们会买你的东西的时候。
有些访客处在购买的前期阶段,太富“攻击性”的注册表格,会让他们紧张,认为你会把他们推到什么地方,而他们并不准备去。下边这些可以帮助你给访客注入信任:
1. 包含你公司如何操作的信息。让访客知道你什么时候会联系他们。保证你只是帮助他们决定自己的需求而不是给他们施压
2. 把About us关于我们页面做的更好
3. 在注册页问尽量少的问题,不要让访客把所有的信息都给你或者忍受一大堆的下拉菜单
4. 在网站的多个地方包含短小友善的注册表格(不只是联系我们页)。这样你可以跟踪访客在哪里填写了表格,也能了解他们对什么感兴趣
5. 清楚地告诉访客他们发了信息后会怎样,多久会得到回复。可能的话,让他们选择如何,何时和他们联系。
6. 有些访客喜欢做好电话准备。给他们准备一个信息清单,电话联系时候会比较方便。
7. 有些访客更喜欢电话联系。那就在注册表格边加上电话号码。
5月13日 第三章 Sql server数据管理
| 2008/05/13 13:52 | richie | Via 本站原创
表达式
= 等于
> 大于
< 小于
>= 大于等于
<= 小于等于
<> 不等于
! 非
通配符
_ 表示一个字符
% 表示任意长度的字符串
[]括号中所指定范围内的一个字符
[^]不在括号中所之内范围内的任意一个字符
通配符通常与like关键字一起配合使用 来约束数据
逻辑表达式
And 与
OR 或
NOT 非
T-SQL语句部分
插入数据
语法
insert [into] <表名>[列名] values<值列表>
多个列名和多个值用逗号分割
一次插入多行数据
1、通过insert select 语句将现有表中的数据添加到新表中(需要自己创建表 字段)
语法
[color=#87CEEBinsert、 into 表名
select 列名
form 源表名[/color]
2、通过select into 语句将现有表中的数据添加到新表中(自动创建新表)
语法
select 列名
into 新表名
form 源表名
3、通过union关键字合并数据进行插入
语法
insert 表名 列名
select 值 union
select 值 union
select 值
更新数据
语法
update <表名> set <列名=更新值> [where <更新条件>]
不指定更新条件 将更新表内所有相关字段值
删除数据
语法
delete from <表名> [where <删除条件>]
只要删除就是删除整条记录 不会只删除单个字段 所以在delete后不能出现字段名
truncate table <表名>
删除表中所有行
执行速度要比delete快很多 资源占用较小
= 等于
> 大于
< 小于
>= 大于等于
<= 小于等于
<> 不等于
! 非
通配符
_ 表示一个字符
% 表示任意长度的字符串
[]括号中所指定范围内的一个字符
[^]不在括号中所之内范围内的任意一个字符
通配符通常与like关键字一起配合使用 来约束数据
逻辑表达式
And 与
OR 或
NOT 非
T-SQL语句部分
插入数据
语法
insert [into] <表名>[列名] values<值列表>
多个列名和多个值用逗号分割
一次插入多行数据
1、通过insert select 语句将现有表中的数据添加到新表中(需要自己创建表 字段)
语法
[color=#87CEEBinsert、 into 表名
select 列名
form 源表名[/color]
2、通过select into 语句将现有表中的数据添加到新表中(自动创建新表)
语法
select 列名
into 新表名
form 源表名
3、通过union关键字合并数据进行插入
语法
insert 表名 列名
select 值 union
select 值 union
select 值
更新数据
语法
update <表名> set <列名=更新值> [where <更新条件>]
不指定更新条件 将更新表内所有相关字段值
删除数据
语法
delete from <表名> [where <删除条件>]
只要删除就是删除整条记录 不会只删除单个字段 所以在delete后不能出现字段名
truncate table <表名>
删除表中所有行
执行速度要比delete快很多 资源占用较小
5月13日 第三章 Sql server数据管理
| 2008/05/13 13:52 | richie | Via 本站原创
表达式
= 等于
> 大于
< 小于
>= 大于等于
<= 小于等于
<> 不等于
! 非
通配符
_ 表示一个字符
% 表示任意长度的字符串
[]括号中所指定范围内的一个字符
[^]不在括号中所之内范围内的任意一个字符
通配符通常与like关键字一起配合使用 来约束数据
逻辑表达式
And 与
OR 或
NOT 非
T-SQL语句部分
插入数据
语法
insert [into] <表名>[列名] values<值列表>
多个列名和多个值用逗号分割
一次插入多行数据
1、通过insert select 语句将现有表中的数据添加到新表中(需要自己创建表 字段)
语法
[color=#87CEEBinsert、 into 表名
select 列名
form 源表名[/color]
2、通过select into 语句将现有表中的数据添加到新表中(自动创建新表)
语法
select 列名
into 新表名
form 源表名
3、通过union关键字合并数据进行插入
语法
insert 表名 列名
select 值 union
select 值 union
select 值
更新数据
语法
update <表名> set <列名=更新值> [where <更新条件>]
不指定更新条件 将更新表内所有相关字段值
删除数据
语法
delete from <表名> [where <删除条件>]
只要删除就是删除整条记录 不会只删除单个字段 所以在delete后不能出现字段名
truncate table <表名>
删除表中所有行
执行速度要比delete快很多 资源占用较小
= 等于
> 大于
< 小于
>= 大于等于
<= 小于等于
<> 不等于
! 非
通配符
_ 表示一个字符
% 表示任意长度的字符串
[]括号中所指定范围内的一个字符
[^]不在括号中所之内范围内的任意一个字符
通配符通常与like关键字一起配合使用 来约束数据
逻辑表达式
And 与
OR 或
NOT 非
T-SQL语句部分
插入数据
语法
insert [into] <表名>[列名] values<值列表>
多个列名和多个值用逗号分割
一次插入多行数据
1、通过insert select 语句将现有表中的数据添加到新表中(需要自己创建表 字段)
语法
[color=#87CEEBinsert、 into 表名
select 列名
form 源表名[/color]
2、通过select into 语句将现有表中的数据添加到新表中(自动创建新表)
语法
select 列名
into 新表名
form 源表名
3、通过union关键字合并数据进行插入
语法
insert 表名 列名
select 值 union
select 值 union
select 值
更新数据
语法
update <表名> set <列名=更新值> [where <更新条件>]
不指定更新条件 将更新表内所有相关字段值
删除数据
语法
delete from <表名> [where <删除条件>]
只要删除就是删除整条记录 不会只删除单个字段 所以在delete后不能出现字段名
truncate table <表名>
删除表中所有行
执行速度要比delete快很多 资源占用较小





