zoukankan      html  css  js  c++  java
  • Sqlserver:常量

    常量,也称为文字值或标量值,是表示一个特定数据值的符号。常量的格式取决于它所表示的值的数据类型。

    字符串常量

    字符串常量括在单引号内并包含字母数字字符(a-z、A-Z 和 0-9)以及特殊字符,如感叹号 (!)、at 符 (@) 和数字号 (#)。将为字符串常量分配当前数据库的默认排序规则,除非使用 COLLATE 子句为其指定了排序规则。用户键入的字符串通过计算机的代码页计算,如有必要,将被转换为数据库的默认代码页。

    如果已为某个连接将 QUOTED_IDENTIFIER 选项设置成 OFF,则字符串也可以使用双引号括起来,但 Microsoft SQL 本机客户端提供程序和 ODBC 驱动程序将自动使用 SET QUOTED_IDENTIFIER ON。我们建议使用单引号。

    如果单引号中的字符串包含一个嵌入的引号,可以使用两个单引号表示嵌入的单引号。对于嵌入在双引号中的字符串则没有必要这样做。

    以下是字符串的示例:

    复制代码
    'Cincinnati'
    'O''Brien'
    'Process X is 50% complete.'
    'The level for job_id: %d should be between %d and %d.'
    "O'Brien"

    空字符串用中间没有任何字符的两个单引号表示。在 6.x 兼容模式中,空字符串被看作是一个空格。

    字符串常量支持增强的排序规则。

    Unicode 字符串

    Unicode 字符串的格式与普通字符串相似,但它前面有一个 N 标识符(N 代表 SQL-92 标准中的区域语言)。N 前缀必须是大写字母。例如,'Michél' 是字符串常量而 N'Michél' 则是 Unicode 常量。Unicode 常量被解释为 Unicode 数据,并且不使用代码页进行计算。Unicode 常量有排序规则。该排序规则主要用于控制比较和如何区分大小写。为 Unicode 常量分配当前数据库的默认排序规则,除非使用 COLLATE 子句为其指定了排序规则。对于字符数据,存储 Unicode 数据时每个字符使用 2 个字节,而不是每个字符 1 个字节。有关详细信息,请参阅使用 Unicode 数据

    Unicode 字符串常量支持增强的排序规则。

    二进制常量

    二进制常量具有前辍 0x 并且是十六进制数字字符串。这些常量不使用引号括起。

    下面是二进制字符串的示例:

    复制代码
    0xAE
    0x12Ef
    0x69048AEFDD010E
    0x (empty binary string)

    bit 常量

    bit 常量使用数字 0 或 1 表示,并且不括在引号中。如果使用一个大于 1 的数字,则该数字将转换为 1。

    datetime 常量

    datetime 常量使用特定格式的字符日期值来表示,并被单引号括起来。有关 datetime 常量格式的详细信息,请参阅“使用日期和时间数据”。

    下面是 datetime 常量的示例:

    复制代码
    'April 15, 1998'
    '15 April, 1998'
    '980415'
    '04/15/98'

    下面是时间常量的示例:

    复制代码
    '14:30:24'
    '04:24 PM'

    integer 常量

    integer 常量以没有用引号括起来并且不包含小数点的数字字符串来表示。integer 常量必须全部为数字;它们不能包含小数。

    下面是 integer 常量的示例:

    复制代码
    1894
    2

    decimal 常量

    decimal 常量由没有用引号括起来并且包含小数点的数字字符串来表示。

    下面是 decimal 常量的示例:

    复制代码
    1894.1204
    2.0

    float 和 real 常量

    float 和 real 常量使用科学记数法来表示。

    下面是 float 或 real 值的示例:

    复制代码
    101.5E5
    0.5E-2

    money 常量

    money 常量以前缀为可选的小数点和可选的货币符号的数字字符串来表示。money 常量不使用引号括起。

    SQL Server 2005 不强制采用任何种类的分组规则,例如在代表货币的字符串中每隔三个数字插入一个逗号 (,)。

    注意:
    在指定的 money 文字中,将忽略任何位置的逗号。

    下面是 money 常量的示例:

    复制代码
    $12
    $542023.14

    uniqueidentifier 常量

    uniqueidentifier 常量是表示 GUID 的字符串。可以使用字符或二进制字符串格式指定。

    以下示例都指定相同的 GUID:

    复制代码
    '6F9619FF-8B86-D011-B42D-00C04FC964FF'
    0xff19966f868b11d0b42d00c04fc964ff

    指定负数和正数

    若要指示一个数是正数还是负数,请对数值常量应用 + 或 - 一元运算符。这将创建一个表示有符号数字值的表达式。如果没有应用 + 或 - 一元运算符,数值常量将使用正数。

    • 有符号 integer 表达式:

      复制代码
      +145345234
      -2147483648
    • 有符号 decimal 表达式:

      复制代码
      +145345234.2234
      -2147483648.10
    • 有符号 float 表达式:

      复制代码
      +123E-3
      -12E5
    • 有符号 money 表达式:

      复制代码
      -$45.56
      +$423456.99

    增强的排序规则

    SQL Server 所支持的字符和 Unicode 字符串常量也支持增强的排序规则。有关详细信息,请参阅 COLLATE (Transact-SQL) 子句。

  • 相关阅读:
    golang动态加载原生代码思路
    boltdb的实现和改进
    如何保证数据掉电不损坏?
    msgpack库的神奇用法
    消息推送与同步协议的思考
    cassandra的gc调优
    tcp链接断开的探测
    加速和监控国际网络
    轻松逃脱某防火墙对ss的探测
    java文件操作之war压缩解压
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/1596537.html
Copyright © 2011-2022 走看看