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) 子句。

  • 相关阅读:
    URAL——DFS找规律——Nudnik Photographer
    URAL1353——DP——Milliard Vasya's Function
    URAL1203——DPor贪心——Scientific Conference
    递推DP HDOJ 5389 Zero Escape
    区间DP UVA 1351 String Compression
    树形DP UVA 1292 Strategic game
    Manacher HDOJ 5371 Hotaru's problem
    同余模定理 HDOJ 5373 The shortest problem
    递推DP HDOJ 5375 Gray code
    最大子序列和 HDOJ 1003 Max Sum
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/1596537.html
Copyright © 2011-2022 走看看