sql语句简单记录

1.将查询出的表字段以逗号,分割

--将查询出的表字段以逗号,分割
select stuff((select ','+name from testOne for xml path('')),1,1,'')
--stuff只是用于删除指定起点,指定长度的字符,然后在起点插入字符
--如上删除 从1开始1个长度的字符
--以上语句关键为for xml path(''),将查询转为xml
--不用stuff可用其他方式处理

2. 时间处理

  2.1.获取当前时间戳

SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE());--获取当前时间戳

  2.2.时间戳转时间类型,时间类型转时间戳

--时间戳转时间类型,时间类型转时间戳
--GMT和北京时间相差8小时所以需要加8小时用于显示北京时间
    --两种方式
        --1.1.计算时时间戳增加或减少8小时的秒数
            --时间戳转时间类型:输出2018-08-08 08:08:48.000
                SELECT DATEADD(S,1533686928 + 8 * 3600,'1970-01-01 00:00:00')               --时间戳转成时间
            --时间类型转时间戳:输出1533686928
                SELECT DATEDIFF(S,'1970-01-01 00:00:00', '2018-08-08 08:08:48.000') - 8 * 3600       --时间转成时间戳
        --1.2.修改计算的起点时间
            --时间戳转时间类型:输出2018-08-08 08:08:48.000
                SELECT DATEADD(S,1533686928,'1970-01-01 08:00:00')               --时间戳转成时间
            --时间类型转时间戳:输出1533686928
                SELECT DATEDIFF(S,'1970-01-01 08:00:00', '2018-08-08 08:08:48.000')     --时间转成时间戳

  2.3.时间加减

    --时间加减月份:2018-09-08 08:08:48.000 

    SELECT DATEADD(MONTH,1, '2018-08-08 08:08:48.000')

    --时间戳转北京时间并增加月份:2018-09-08 08:08:48.000

    SELECT DATEADD(MONTH,1,DATEADD(S,1533686928,'1970-01-01 08:00:00'))

    --时间戳转北京时间增加月份再转回时间戳(用于计算下个月时使用):1536365328
    SELECT DATEDIFF(S,'1970-01-01 08:00:00',DATEADD(MONTH,1,DATEADD(S,1533686928,'1970-01-01 08:00:00')))

 

posted @ 2016-10-05 14:57  泥称  阅读(142)  评论(0)    收藏  举报