mysql 双冒号,SQL中的双冒号(::)符号

Have picked up someone's code and this is a part of a where clause, anyone know what the double colon indicates?

b.date_completed > a.dc::date + INTERVAL '1 DAY 7:20:00'

解决方案

It varies based on RDBMS, but if I guess right, that's PostgreSQL, in which case the :: converts a.dc to a date type of date.

In other flavors...

In MS SQL Server 2000:

For built-in user-defined functions

that return a table, the function name

must be specified with a leading

double colon (::) to distinguish it

from user-defined functions that are

not built-in. It also must be

specified as a one-part name with no

database or owner qualifications. For

example: SELECT * FROM

::fn_helpcollations() b.. For built-in

user-defined functions that return a

scalar value, the function name must

be specified as a one-part name (do

not specify database or owner). Do not

specify a leading double colon (::).

In MS SQL Server 2005:

Double-colons are no longer required

for UDFs that return a table.

However...

Double-colons are required in SQL

Server 2005 when granting permissions

on schemas, certificates, endpoints,

and a few other securables.

As well as...

When using User-Defined Types, static

methods of the type must be called

using the double-colon syntax.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值