sql日期转换

SQL 标量函数-----日期函数 day() 、month()、year()

select day(createtime) fromlife_unite_product     --取时间字段的天值

select month(createtime) fromlife_unite_product   --取时间字段的月值

select year(createtime) fromlife_unite_product    --取时间字段的年值

select datepart(yy,createtime) fromlife_unite_product     --取时间字段的年值

select datepart(qq,createtime) fromlife_unite_product     --取时间字段的季度值

select datepart(mm,createtime) fromlife_unite_product     --取时间字段的月值

select datepart(dy,createtime) fromlife_unite_product     --取时间字段是那年的第几天

select datepart(dd,createtime) fromlife_unite_product     --取时间字段的天值

select datepart(wk,createtime) fromlife_unite_product       --取时间字段是那年的第几个星期

select datepart(dw,createtime) fromlife_unite_product       --取时间字段是那年的那个星期的第几个工作日(工作日从星期日开算)

select datepart(hh,createtime) fromlife_unite_product     --取时间字段的小时值

select datepart(mi,createtime) fromlife_unite_product     --取时间字段的分钟值

select datepart(ss,createtime) fromlife_unite_product     --取时间字段的秒值

select datepart(ms,createtime) fromlife_unite_product     --取时间字段的毫秒值

select dateadd(yy,-1,createtime) fromlife_unite_product   ----取时间字段(年份被减1了)

select dateadd(mm,3,createtime) fromlife_unite_product   ----取时间字段(月份被加3了)

select dateadd(dd,1,createtime) fromlife_unite_product   ----取时间字段(日被加1了)

select DATEDIFF(yy,createtime,getdate())from life_unite_product --与当前日期的年份差

select DATEDIFF(mm,createtime,getdate())from life_unite_product --与当前日期的月份差

select DATEDIFF(dd,createtime,getdate())from life_unite_product --与当前日期的日数差

select DATEDIFF(mi,createtime,getdate())from life_unite_product --与当前日期的分钟数差

select senddate FROM weixin_senduserarr

select datename(yy,GETDATE())   --取时间字段的年值

select datename(mm,GETDATE())   --取时间字段的月值

select datename(dd,GETDATE())   --取时间字段的天值

### Google SQL 日期转换方法 在Google BigQuery中,处理日期时间的数据类型及其相互之间的转换非常重要。BigQuery支持多种日期时间数据类型的转换操作。 #### 使用 `PARSE_DATE` 和 `FORMAT_DATE` 对于将字符串转换日期对象以及相反的操作,可以分别使用 `PARSE_DATE` 和 `FORMAT_DATE` 函数: - 将字符串解析为日期: ```sql SELECT PARSE_DATE('%Y-%m-%d', '2024-01-01') AS parsed_date; ``` - 将日期格式化为特定模式的字符串: ```sql SELECT FORMAT_DATE('%Y/%m/%d', DATE '2024-01-01') AS formatted_string; ``` 这些函数允许指定输入/输出格式串来定义期望的时间表示方式[^1]。 #### 使用 `DATETIME` 类型及相关函数 除了简单的日期外,如果还需要考虑时间和时区,则应采用更复杂的数据类型如 `DATETIME` 或者带有时区信息的 `TIMESTAMP`: - 解析带有时间部分的字符串至 `DATETIME` 对象 ```sql SELECT PARSE_DATETIME('%Y-%m-%d %H:%M:%S', '2024-01-01 12:34:56') AS datetime_value; ``` - 格式化 `DATETIME` 到自定义样式字符串 ```sql SELECT FORMAT_DATETIME('%Y%m%d_%H%M%S', DATETIME '2024-01-01T12:34:56') AS custom_format; ``` 上述例子展示了如何灵活运用不同的格式符来进行精确控制[^4]。 #### 处理 `TIMESTAMP` 数据类型 当涉及到跨多个地区的工作负载时,推荐使用 `TIMESTAMP` 来保存具有全球一致性的时刻点。它不仅包含了具体的日历日期与时钟读数,还包括了UTC偏移量的信息。 - 创建一个新的 `TIMESTAMP` 实例并立即获取当前系统时间戳 ```sql SELECT CURRENT_TIMESTAMP(); ``` - 把现有的 `DATE` 或 `DATETIME` 值提升到 `TIMESTAMP` ```sql SELECT TIMESTAMP(DATE '2024-01-01'); SELECT TIMESTAMP(DATETIME '2024-01-01T12:34:56'); ``` 通过这种方式可以在不同上下文中轻松切换所需表达形式的同时保持内部一致性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值