1010cc时时彩标准版 > 1010cc三分网站 > 1010cc时时彩标准版sql数据类型转变,SQL编制程序

原标题:1010cc时时彩标准版sql数据类型转变,SQL编制程序

浏览次数:60 时间:2019-08-17

目录

摘要 本文是参考相关资料总结的一篇关于T-SQL语言编程规范的文章,旨在为需要这方面资料的IT公司设计开发人员提供一个参考。
来源:

1.  概述
1.1. 基本原则
以大小写敏感编写SQL语句。
尽量使用Unicode 数据类型。
优先使用连接代替子查询或嵌套查询。
尽量使用参数化SQL查询代替语句拼接SQL查询。
禁止使用[拼音] [英语]的方式来命名SQL对象或变量。
尽量使用存储过程代替SQL语句。

两者都用于:将一种数据类型的表达式转换为另一种数据类型的表达式。

sql**数据类型转换(cast() and convent())函数)**

  • 1.使用Transact-SQL语言编程
    • 1.1.数据定义语言DDL
    • 1.2.数据操纵语言DML
    • 1.3.数据控制语言DCL
    • 1.4.Transact-SQL语言基础
  • 2.运算符
    • 2.1.算数运算符
    • 2.2.赋值运算符
    • 2.3.位运算符
    • 2.4.比较运算符
    • 2.5.逻辑运算符
    • 2.6.连接运算符
    • 2.7.一元运算符
    • 2.8.运算符的优先级
  • 3.控制语句
    • 3.1.BEGIN END语句块
    • 3.2.IF ELSE语句块
    • 3.3.CASE分支语句
    • 3.4.WHILE语句
    • 3.5.WAITFOR延迟语句
    • 3.6.RETURN无条件退出语句
    • 3.7.GOTO跳转语句
    • 3.8.TRY CATCH错误处理语句
  • 4.常用函数
    • 4.1.数据类型转换函数

概述

1.2. 基本规范
建议采用Pascal样式或Camel样式命名数据库对象。
大写T-SQL语言的所有关键字,谓词和系统函数。

安装有 Sql Server 2008 时可以浏览:ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.zh-CHS/s10de_6tsql/html/a87d0850-c670-4720-9ad5-6f5a22343ea8.htm

sql数据类型转换(cast() and convent())函数)

1.使用Transact-SQL语言编程

尽管SQL Server 2008提供了图形化界面,但只有一种Transact-SQL语言能够直接与数据库引擎进行交互。根据执行功能特点可以将Transact-SQL语言分成3大类:数据定义语言DDL,数据操纵语言DML,数据控制语言DCL。

1.1.基本原则

以大小写敏感编写SQL语句。

尽量使用Unicode 数据类型。

优先使用连接代替子查询或嵌套查询。

尽量使用参数化SQL查询代替语句拼接SQL查询。

禁止使用[拼音] [英语]的方式来命名SQL对象或变量。

尽量使用存储过程代替SQL语句。

2.  命名规范
在一般情况下,采用Pascal样式或Camel样式命名数据库对象,使在开发基于数据库应用程序的时候通过ORM工具生成的数据访问代码不需要调整就符合程序开发语言(比如C#)命名规范。另外,关系型数据库同Xml结合得越来越紧密,规范的命名越来越重要。
在实际数据库开发过程中,如果需求方已经提供数据库设计方案,建议以提供的方案为准;在原有数据库上进行升级开发时,在可行的情况下可适当做出设计调整以符合编程规范。

语法

当 Microsoft® SQL Server™ 2000 不自动执行不同数据类型的表达式转换时,可使用转换函数 CAST 和 CONVERT 进行转换。这些转换函数还可用来获得各种特殊的数据格式。这两个转换函数都可用于选择列表、WHERE 子句和允许使用表达式的任何地方。

1.1.数据定义语言DDL

是最基础的Transact-SQL语言类型,用来创建数据库和创建,修改,删除数据库中的各种对象,为其他语言的操作提供对象。例如数据库,表,触发器,存储过程,视图,函数,索引,类型及用户等都是数据库中的对象。常见的DDL语句包括

CREATE TABLE--创建表
DROP TABLE--删除表
ALTER TABLE--修改表

1.2.基本规范

建议采用Pascal样式或Camel样式命名数据库对象。

大写T-SQL语言的所有关键字,谓词和系统函数。

1.3. 对象命名
1.3.1.  数据库
第一种方式,采用Pascal样式命名,命名格式为[项目英文名称]。
示例:AdventureWorks
第二种方式,采用Pascal样式命名,命名格式为[项目英文名称]   Db。
示例:AdventureWorksDb
  BizTalkRuleEngineDb
建议采用第一种方式。

 
Syntax for CAST:
CAST ( expression AS data_type [ ( length ) ] )

Syntax for CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

如果希望 Transact-SQL 程序代码遵从 SQL-92 标准,请使用 CAST 而不要使用 CONVERT。如果要利用 CONVERT 中的样式功能,请使用 CONVERT 而不要使用 CAST。

1.2.数据操纵语言DML

是用于操纵表和视图中的数据的语句,例如查询数据(SELECT),插入数据(INSERT),更新数据(UPDATE)和删除数据(DELETE)等。

命名规范

在一般情况下,采用Pascal样式或Camel样式命名数据库对象,使在开发基于数据库应用程序的时候通过ORM工具生成的数据访问代码不需要调整就符合程序开发语言(比如C#)命名规范。另外,关系型数据库同Xml结合得越来越紧密,规范的命名越来越重要。

在实际数据库开发过程中,如果需求方已经提供数据库设计方案,建议以提供的方案为准;在原有数据库上进行升级开发时,在可行的情况下可适当做出设计调整以符合编程规范。

1.3.2.  数据库文件
数据文件:[数据库名称]   _Data.mdf
日志文件:[数据库名称]   _Log.ldf
示例:AdventureWorks_Data.mdf
      AdventureWorks_Log.ldf

参数

expression
任何有效的表达式。

data_type
目标数据类型。这包括 xmlbigintsql_variant。不能使用别名数据类型。有关可用数据类型的详细信息,请参阅数据类型 (Transact-SQL)。

length
指定目标数据类型长度的可选整数。默认值为 30。

style
指定 CONVERT 函数如何转换 expression 的整数表达式。如果样式为 NULL,则返回 NULL。该范围是由 data_type 确定的。有关详细信息,请参阅“备注”部分。

使用 CAST 或 CONVERT 时,需要两条信息:

1.3.数据控制语言DCL

涉及到权限管理的语言称为数据控制语言,主要用于执行有关安全管理的操作。如授予权限(GRANT),收回权限(REVOKE),拒绝授予主体权限,并防止主体通过组或角色成员继承权限(DENY

1.3.对象命名

1.3.3.  关系型数据仓库
采用Pascal样式命名,命名格式为[项目英文名称]   DW。
示例:AdventureWorksDW

返回类型

返回转换为 data_typeexpression

·    要转换的表达式(例如,销售报告要求销售数据从货币型数据转换为字符型数据)。

1.4.Transact-SQL语言基础

1.3.1. 数据库

第一种方式,采用Pascal样式命名,命名格式为[项目英文名称]。

示例:AdventureWorks

第二种方式,采用Pascal样式命名,命名格式为[项目英文名称]

  • Db。

示例:AdventureWorksDb

  BizTalkRuleEngineDb

建议采用第一种方式。

1.3.4.  数据架构
除SQL Server 系统定义的数据架构外,新建架构采用Pascal样式命名,命名格式为[架构名]。
示例:HumanResources
      Production

注释

·    要将所给表达式转换到的数据类型,例如,varchar 或 SQL Server 提供的任何其它数据类型。

1.4.1.常量与变量

常量不多说。在SQL Server 2008中,存在两种变量。一种是系统定义和维护的全局变量,一种是用户定义用来保存中间结果的局部变量。

1.3.2. 数据库文件

数据文件:[数据库名称] _Data.mdf

日志文件:[数据库名称] _Log.ldf

示例:AdventureWorks_Data.mdf

      AdventureWorks_Log.ldf

对数据库对象 Table,View,Procedure,Function等使用数据架构进行归类。在SQL Server 2000中dbo为默认架构。

Date 和 Time 样式

如果 expression 为 date 或 time 数据类型,则 style 可以为下表中显示的值之一。其他值作为 0 进行处理。SQL Server 使用科威特算法来支持阿拉伯样式的日期格式。

除非将被转换的值存储起来,否则转换仅在 CAST 或 CONVERT 函数的作用期内有效。

1.4.1.1.系统全局变量

系统全局变量分为两大类,一类是与当然SQL Server连接或与当前处理有关的全局变量,如@@Rowcount表示最近一个语句影响的行数。@@error表示保存最近执行操作的错误状态。一类是与整个SQL Server系统有关的全局变量,如@@Version表示当前SQL Server的版本信息。

SELECT @@VERSION AS 当前版本;--查看当前SQL Server的版本信息

结果如图所示
1010cc时时彩标准版 1

1.3.3. 关系型数据仓库

采用Pascal样式命名,命名格式为[项目英文名称]

  • DW。

示例:AdventureWorksDW

1.3.5.  数据表
采用Pascal样式命名,命名格式为[表名]。
示例:Employee
      Product

 

生成 XML 实例。

 

 

1

保留无用空格。此样式设置将默认的 xml:space 处理方式设置为与指定了 xml:space="preserve" 的行为相同。

2

启用有限的内部 DTD 子集处理。

如果启用,则服务器可使用内部 DTD 子集提供的以下信息来执行非验证分析操作。

  • 应用属性的默认值。

  • 解析并扩展内部实体引用。

  • 检查 DTD 内容模型以实现语法的正确性。

分析器将忽略外部 DTD 子集。此外,不评估 XML 声明来查看 standalone 属性是设置为 yes 还是 no,而是将 XML 实例当成一个独立文档进行分析。

3

保留无用空格,并启用有限的内部 DTD 子集处理。

在下面的示例中,第一个 SELECT 语句中使用 CAST,第二个 SELECT 语句中使用 CONVERT,将 title 列转换为 char(50) 列,以使结果更可读:

1.4.1.2.局部变量

局部变量能够拥有特定数据类型,有一定的作用域,一般用于充当计数器计算或控制循环执行次数,或者用于保存数据值。局部变量前只有1个@符,用DECLARE语句声明局部变量。

USE test
DECLARE @StudentId varchar(20)
SET @StudentId=(
SELECT Student.stu_no
FROM Student
WHERE stu_enter_score='603')
SELECT @StudentId AS 入学分数为603的学生学号
GO

结果如图所示
1010cc时时彩标准版 2

1.3.4. 数据架构

除SQL Server 系统定义的数据架构外,新建架构采用Pascal样式命名,命名格式为[架构名]。

示例:HumanResources

      Production

对数据库对象 Table,View,Procedure,Function等使用数据架构进行归类。在SQL Server 2000中dbo为默认架构。

表名以英文单数命名,主要是参考SQL Server 2005示例数据库,个人理解不采用复数是为了更好的使用ORM工具生成符合编程规范的代码(比如C#)。
示例:使用Product
  而不是Products

二进制样式

如果 expressionbinary(n)varbinary(n)char(n)varchar(n),则 style 可以为下表中显示的值之一。表中没有列出的样式值将返回错误。

USE pubs
SELECT CAST(title AS char(50)), ytd_sales
FROM titles
WHERE type = 'trad_cook'
 

USE pubs
SELECT CONVERT(char(50), title), ytd_sales
FROM titles
WHERE type = 'trad_cook'

2.运算符

1.3.5. 数据表

采用Pascal样式命名,命名格式为[表名]。

示例:Employee

      Product

表名以英文单数命名,主要是参考SQL Server 2005示例数据库,个人理解不采用复数是为了更好的使用ORM工具生成符合编程规范的代码(比如C#)。

示例:使用Product

 而不是Products

1.3.6.  数据视图
视图名称采用Pascal样式命名,命名格式为v   [视图名称]。
示例:vEmployee
      vSalesPerson

 

对用户定义类型执行操作。有关如何从 xml 数据类型进行转换的详细信息,请参阅生成 XML 实例。

 

 

2.1.算数运算符

在SQL Server 2008中,算数运算包括加( )减(-)乘(*)除(/)取模(%)。举一个简单的例子。
示例1:在Student表中添加一列,列名为stu_age,根据Student表的stu_birthday列计算stu_age列并插入数据。(演示插入整列数据的方法)
Student表数据如图所示
1010cc时时彩标准版 3
执行下面的语句

ALTER TABLE Student
ADD stu_age int;--在Student表中添加stu_age列
CREATE TABLE #agetemp(stu_no varchar(8),age int);--新建一个临时表
INSERT INTO #agetemp(stu_no,age)--在临时表中插入学号和计算出来的年龄
SELECT Student.stu_no,YEAR(GETDATE())-YEAR(stu_birthday)--利用函数和运算符计算年龄
FROM Student;
UPDATE Student
SET Student.stu_age=#agetemp.age--将临时表中的age列数据整个复制到Student表的stu_age列
FROM #agetemp
WHERE Student.stu_no=#agetemp.stu_no--条件是两个表的stu_no列值相等
GO
SELECT * FROM Student

结果如图所示
1010cc时时彩标准版 4

1.3.6. 数据视图

视图名称采用Pascal样式命名,命名格式为v

  • [视图名称]。

示例:vEmployee

      vSalesPerson

1.3.7.  数据列
列名称命名采用英文单词或缩写,英文单词只来自于具体业务定义,尽量表达清楚含义。采用Pascal样式命名,命名格式为[列名称]。
示例:AddressID
      PostalCode

xml 数据类型

当您将 xml 数据类型显式或隐式转换为字符串或二进制数据类型时,xml 数据类型的内容将根据一组规则进行序列化。有关这些规则的信息,请参阅 XML 数据的序列化。有关如何从 XML 转换为 CLR 用户定义类型的信息,请参阅对用户定义类型执行操作。有关如何从其他数据类型转换到 xml 数据类型的信息,请参阅生成 XML 实例。

下面是结果集:(对任何一个查询)

2.2.赋值运算符

即等号(=),将表达式的值赋予另一个变量。举一个简单的例子。
示例2:计算Student表中学生的平均入学成绩并打印。
Student表的数据如图所示,stu_enter_score列存放了学生的入学成绩
1010cc时时彩标准版 5
执行下面的语句

DECLARE @average int--声明@average变量
SET @average=(--将计算出的平均值赋值给@average
SELECT AVG(stu_enter_score)
FROM Student)
PRINT @average--打印@average的值

结果如图所示
1010cc时时彩标准版 6

1.3.7. 数据列

列名称命名采用英文单词或缩写,英文单词只来自于具体业务定义,尽量表达清楚含义。采用Pascal样式命名,命名格式为[列名称]。

示例:AddressID

      PostalCode

尽量避免使用拼音命名,如果不可避免,对于比较短的列名,采用拼音全写,如果拼音列名比较复杂,可以采用首个字用全拼,其它字用首字母大写表示。

示例:宁波 Ningbo

  经营方式 JingYFS

尽量避免使用拼音命名,如果不可避免,对于比较短的列名,采用拼音全写,如果拼音列名比较复杂,可以采用首个字用全拼,其它字用首字母大写表示。
示例:宁波 Ningbo
  经营方式 JingYFS

文本和图像数据类型

不支持对 textimage 数据类型进行自动数据类型转换。可将 text 数据显式转换为字符数据,将 image 数据转换为 binaryvarbinary,但最大长度是 8000 字节。如果试图进行不正确的转换,如将包含字母的字符表达式转换为 int,则 SQL Server 将返回错误消息。

 ytd_sales

本文由1010cc时时彩标准版发布于1010cc三分网站,转载请注明出处:1010cc时时彩标准版sql数据类型转变,SQL编制程序

关键词:

上一篇:没有了

下一篇:没有了