• SQL Common Sense 碎片一


    1.关于时间

    1 SELECT GETDATE()
    2 SELECT DATEPART(d,'2014-05-20 14:20:55.347')
    3 SELECT DATEDIFF(d,'2014-05-20 14:20:55.347','2014-06-20 14:20:55.347')
    4 SELECT DATEADD(D,2,'2014-05-20 14:20:55.347')

    结果

    详细的东西 还是看W3C的时间部分。

    http://www.w3school.com.cn/sql/sql_dates.asp

    2.格式转换 CONVERT

       常用时间转换

    SELECT CONVERT(VARCHAR(12),GETDATE(),111)

      常常自动忽略GETDATE()中的时间部分,导致查询结果为空。各种坑,引以为戒,Please.

    3.截取分隔符中的各个字符串

      当时由于存储了某两个文件的文件名,需要分别取出,九牛二虎搜出这么个方法,结果同事后来给了一个代码上解决的方法,这个很费劲的方法,也值得标记下来,告慰我当时牺牲的脑细胞们。

    1 declare @str nvarchar(50);
    2 set @str='462,464,2';
    3 select @str as '字符串'
    4 select len(@str) as '字符长度'
    5 select charindex(',',@str,1) as '第一个逗号的索引值'
    6 select LEFT(@str,charindex(',',@str,1)-1) as '第一个值'
    7 select SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)) as '从第一逗号开始截取出后面的字符串'
    8 select LEFT(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),CHARINDEX(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)-1) as '中间的值'
    9 select SUBSTRING(SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),charindex(',',SUBSTRING(@str,charindex(',',@str,1)+1,len(@str)),1)+1,len(@str)) as '最后面的值' --从第二个逗号开始截取出其后的字符串

    结果如下:


  • 相关阅读:
    ThreadPoolExecutor详解
    java concurrent 之 SynchronousQueue
    最简单例子图解JVM内存分配和回收
    Jvm垃圾回收堆内存变化过程
    CentOS 7下OpenLDAP编译安装及配置
    Mysql+ODBC+OpenLDAP
    ffmpeg在 centos下的安装
    利用SQL SERVER对比两张表的数据一致性
    Python3通过汉字输出拼音
    SQL Server 用链接服务器 同步SqlServer与MySQL
  • 原文地址:https://www.cnblogs.com/coderinprague/p/3785669.html
Copyright © 2020-2023  润新知