SQL Server中 char与varchar
固定长度(char)与可变长度(varchar)字符数据类型
char[(n)]
长度为n个字节的固定长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为n个字节。char在SQL-92中的同义词为character。
varchar[(n)]
长度为n个字节的可变长度且非Unicode的字符数据。n必须是一个介于1和8,000之间的数值。存储大小为输入数据的字节的实际长度,而不是n个字节。所输入的数据字符长度可以为零。varchar在SQL-92中的同义词为char varying或character varying。
由于char是以固定长度的,所以它的速度会比varchar快得多!但程序处理起来要麻烦一点,要用trim之类的函数把两边的空格去掉!
注释
如果没有在数据定义或变量声明语句中指定n,则默认长度为1。如果没有使用CAST函数指定n,则默认长度为30。
将为使用char或varchar的对象被指派数据库的默认排序规则,除非用COLLATE子句另外指派了特定的排序规则。该排序规则控制用于存储字符数据的代码页。
支持多语言的站点应考虑使用Unicode nchar或nvarchar数据类型以尽量减少字符转换问题。如果使用char或varchar:
如果希望列中的数据值大小接近一致,请使用char。
如果希望列中的数据值大小显著不同,请使用varchar。
如果执行CREATE TABLE或ALTER TABLE时SET ANSI_PADDING为OFF,则一个定义为NULL的char列将被作为varchar处理。
当排序规则代码页使用双字节字符时,存储大小仍然为n个字节。根据字符串的不同,n个字节的存储大小可能小于n个字符。
相关文档:
--语 句 功 能
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER ......
1.字符串函数 :
datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格
length(expression,variable)指定字符串或变量名称的长度。
substring(expression,start,length) 不多说了,取子串
right(char_expr,int_expr) 返回字符串右边int_expr个字符
concat(str1,str2,...)返回来自于参数连结的字符串。dat ......
刚在看书,提到了sql server的模式匹配运算,接着想到了通配符的转义问题,因为太久没用,Google了搜索了一下才想起来,写几句话记录下。 关于通配符的转义,sql server里边提供了关键字escape来处理。但是escape本身不是什么转义符(刚才我就是在这里搞错了),而是将escape后面的符号定义为转义符。举个例: select ......
选择自 CSDN
SQL语句导入导出大全
/******* 导出到excel
EXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S"GNETDATA/GNETDATA" -U"sa" -P""'
/*********** 导入Excel
SELECT *
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\tes ......
本文节选自MSDN的文章《五种提高 SQL 性能的方法》,提出如何提高基于SQL Server应用程序的运行效率,非常值得推荐。对一些Traffic很高的应用系统而言,如何提高和改进SQL指令,是非常重要的,也是一个很好的突破点。
*文章主要包括如下一些内容(如感兴趣,请直接访问下面的URL阅读完整的中英文文档):
1, 从 INSE ......