복붙노트

[SQL] T-SQL에 중괄호

SQL

T-SQL에 중괄호

나는 다음과 같은 T-SQL 건너했습니다 :

SELECT {d'9999-12-31'}

어떤 반환 9999-12-31 00 : 00 : 00.000.

이는 DATETIME에 문자열 리터럴의 형식을 변환 할 것으로 보인다. 나는이 구문에 대한 모든 문서를 찾을 수없는 어떤 변화가 있는지 나는 문자 그대로의 1을 가지고 있지만 CONVERT를 사용하지 않고 BIGINT이를 표현하려면 내가 예를 들어, 궁금하네요 () / CAST ().

사람이 구문에 대한 추가적인 정보를 제공 할 수 있습니까? 감사.

해결법

  1. ==============================

    1.다음은 ODBC 이스케이프 시퀀스입니다. 날짜, 시간 및 타임 스탬프 자세한 내용은 이스케이프 시퀀스를 참조하십시오.

    다음은 ODBC 이스케이프 시퀀스입니다. 날짜, 시간 및 타임 스탬프 자세한 내용은 이스케이프 시퀀스를 참조하십시오.

    uniqueidentifiers 유사한 구문도 있습니다

    SELECT {GUID '00000000-0000-0000-0000-000000000000'}

    뿐만 아니라 프로 시저 호출 및 링크 해제 자세히 다른 구조로.

    귀하의 질문의 나머지 부분에 관해서는 내가 BIGINT 또는 특정 자원의 처리 정수 리터럴을 갖는 어떤 식 으로든 잘 모르는 것 같아요 리터럴 SQL Server에서 데이터 유형을 할당하는 방법에 영향을 미치는 목록 모든 방법이. 몇 가지 방법은 다음과 같습니다.

    ;WITH cte(thing) AS
    (
    SELECT CAST(1 AS SQL_VARIANT) UNION ALL
    SELECT $1 UNION ALL
    SELECT 1e0 UNION ALL
    SELECT 1.0000 UNION ALL
    SELECT 2147483648 UNION ALL 
    SELECT {ts '2011-09-15 01:23:56.123'}  UNION ALL
    SELECT {d '2011-09-15'} UNION ALL
    SELECT { t '13:33:41' }  UNION ALL
    SELECT {guid '00000000-0000-0000-0000-000000000000'} UNION ALL
    SELECT 'Foo' UNION ALL
    SELECT N'Foo'
    )
    SELECT thing, 
           sql_variant_property(thing,'basetype') AS basetype,
           sql_variant_property(thing,'precision') AS precision, 
           sql_variant_property(thing,'scale') AS scale, 
           sql_variant_property(thing,'maxlength') AS maxlength
    FROM cte
    

    보고

    thing                          basetype            precision   scale  maxlength
    ------------------------------ ------------------- ----------- ------ ---------
    1                              int                 10          0      4
    1.00                           money               19          4      8
    1                              float               53          0      8
    1.0000                         numeric             5           4      5
    2147483648                     numeric             10          0      5
    2011-09-15 01:23:56.123        datetime            23          3      8
    2011-09-15 00:00:00.000        datetime            23          3      8
    2011-09-15 13:33:41.000        datetime            23          3      8
    00000000-0000-0000-0000-000000 uniqueidentifier    0           0      16
    Foo                            varchar             0           0      3
    Foo                            nvarchar            0           0      6
    
  2. from https://stackoverflow.com/questions/7428538/curly-braces-in-t-sql by cc-by-sa and MIT license