简单生活日记 活着,然后去爱。简简单单,做个快乐的小孩!

30May/070

Sql Server字符串类型~

MS Sql Server包含多种字符类型,如:char、varchar等。其帮助文档中对这些类型有过说明,然反复阅读亦不得要领。

数据类型

MS Sql Server中字符串类型:

  • char
  • varchar
  • text
  • nchar
  • nvarchar
  • ntext

最搞不清的是,char与nchar、varchar与nvarchar的区别,迷惑中……

动手实践

创建表格:创建一个包含char, nchar, varchar, nvarchar四种数据类型的表格,长度均为8。

Create Table

图一、设计表

插入数据:插入两行数据,首先插入固定长度、中英文混合字符串;第二行插入“足够”长度字符串。

Insert Data

图二、插入数据

数据分析

  • 与第二行相比知,第一行数据四列均没有达到最大长度;
  • 用程序取出数据知,第一行的第三列填充1个空格、第四列填充4个空格

实验小结

  • char与nchar的区别在于用多少个字节表示非Unicode字符:char类型中,中文字符占据2个字节,英文字符占用1个字节;nchar类型中,中文字符和英文字符均占用两个字节。
  • char与varchar的区别在于是否用“空格”补齐:char类型存储长度固定,实际字符串长底不足时,用空格填充;varchar存储长度可变,实际存储长度=2*Unicode字符数+英文字符数。
  • varchar与nvarchar的区别理同char与nchar区别;nchar与nvarchar区别理同char与varchar区别。

特别提示

定义数据表时长度含义:

  • char类型:长度为8,表示可以存入最多8个单字节字符,最终存储长度为8字节;
  • ncarh类型:长度为8,表示可以存入最多8个Unicode字符,最终存储长度为16字节;

联机说明中的注释项:

  • ...sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名
  • ...支持多语言的站点应考虑使用 Unicode nchar 或 nvarchar 数据类型以尽量减少字符转换问题。

补充说明

  • [2007-8-26] 在会使用中文的场哈,尽量使用nchar/nvarchar,不然还真会有麻烦的!

附:联机说明-数据类型 (Transact-SQL) http://msdn2.microsoft.com/zh-cn/library/ms187752.aspx

21May/070

Longhorn Beta 3~

简述

众所周知,Vista 作为Windows XP的继任者,已经发布多时;而Longhorn 则成为了微软下一代服务器操作系统的项目代号,全名为:Windows Server Code Name "Longhorn" ,现在已经提供Beta 3的下载。

试用

日前,获悉IIS 7免费提供一个Go Live许可,允许将IIS 7.0用于生产环境。迫不及待地在自己的PC机上安装了一遍Longhorn Server。

在安装的时候发现可以选择安装完整的Windows环境,也可以只安装一个带命令行的系统核心(CORE)。安装完毕后,发现系统分区约占用10G空间(含Pagefile)。

软件

已经在Longhorn Beta 3下成功安装/稳定运行以下软件:

  • DAEMON Tools 4.09 
  • QQ2006 Beta2 
  • 极点五笔
  • Winrar

服务

已经成功开启以下系统服务:

  • IIS 7 站点(开启ASP.Net) 
  • FTP 站点(隔离用户模式) 
  • File Server(文件共享)

资源

18May/070

TODO:Touching MONO~

背景

习惯于应用ASP.NET写些小的Web应用来炫耀炫耀,又或者应用WinForm写些小玩意自娱自乐一把。

出于工作的原因,非常有必要写些小应用跑在Linux下。学习Shell?学习Python?还是再回过头去把C++和Linux本身研究一把?都很不错——如果单从学习的层面讲。

然而,现在手上的工作真是很繁、很杂。每天晚上八、九点钟下班之后,只想倒头就睡,用于学习的时间怕是很少。更严重的是,有些事情很急,最好是能够快速上手、快速编写、快速应用。

当我注意到,应用MONO可以轻松跨越Windows和Linux之间的鸿沟时,彻底被这个开源项目给吸引住了。于是我开始使用C#语言和.NET中常见的设计模式,并使用Visual Studio编写代码。然后,我把VS2005输出的应用程序集拉到Linux系统中;最后,我惊讶地发现那些.exe或者.aspx在Linux系统中,真的就那么轻易地运行起来了!

计划

  • Installing MONO over SuSE 10 SP1
  • C# "Hello World" Console and WinForm
  • C# "Hello World" ASP.Net and WebService
  • Testing MONO Application Based Performance
  • Testing MONO "CPU/Memory Based" Performance
  • 应用调优:Apace + MONO最佳实践

资源

链接