日期时间与字符串的转换,位运算举例权限应用

一、sql server日期时间函数
图片 1Sql Server中的日期与时间函数 
图片 21.  当前系统日期、时间 
图片 3    select getdate()  
图片 4
图片 52. dateadd  在向指定日期加上一段时间的基础上,返回新的 datetime 值
图片 6   例如:向日期加上2天 
图片 7   select dateadd(day,2,'2004-10-15')  --返回:2004-10-17 00:00:00.000 
图片 8
图片 93. datediff 返回跨两个指定日期的日期和时间边界数。
图片 10   select datediff(day,'2004-09-01','2004-09-18')   --返回:17
图片 11
图片 124. datepart 返回代表指定日期的指定日期部分的整数。
图片 13  select DATEPART(month, '2004-10-15')  --返回 10
图片 14
图片 155. datename 返回代表指定日期的指定日期部分的字符串
图片 16   select datename(weekday, '2004-10-15')  --返回:星期五
图片 17
图片 186. day(), month(),year() --可以与datepart对照一下
图片 19
图片 20select 当前日期=convert(varchar(10),getdate(),120) 
图片 21,当前时间=convert(varchar(8),getdate(),114) 
图片 22
图片 23select datename(dw,'2004-10-15') 
图片 24
图片 25select 本年第多少周=datename(week,'2004-10-15')
图片 26      ,今天是周几=datename(weekday,'2004-10-15')

错误出现情景

  在cmd中使用mysql命令,学生信息表添加数据。使用load data方式简单批量导入数据。

  准备好文本数据: xueshengxinxi.txt 文件  数据之间以tab键进行分割

  执行 “load data infile 文本数据路径  into table tab_load_data”  弹出错误。

图片 27图片 28

#load data (载入数据)语法,要载入数据如下:
    1    张三            男        江西    1
    2    李四            男        四川    2
    3    王五            男        上海    1
    4    赵六            女        湖北    3
    5    孙七            女        湖北    3
    6    周八            男        湖南    1    

#测试数据表
    create table tab_load_data (
        id int auto_increment primary key,
        name varchar(10),
        sex enum('男','女'),
        native varchar(10),
        f5 int
    );    

【点击查看】测试数据Demo

 

摘要:

二、日期格式转换

错误描述

  使用load data 导入文件数据总是弹出错误(Error 1290.....)如下:

  ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

    图片 29

下文通过举例的方式讲述sqlserver中位运算的相关知识,如下所示:
实验环境:sqlserver 2008 R2

Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM 
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM 
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06 
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16 
Select CONVERT(varchar(100), GETDATE(), 12): 060516 
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937 
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967 
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47 
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157 
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM 
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47 
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250 
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM 
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006 
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16 
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006 
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006 
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006 
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006 
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006 
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49 
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM 
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006 
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16 
Select CONVERT(varchar(100), GETDATE(), 112): 20060516 
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513 
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547 
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49 
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700 
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827 
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM

解决思路(过程)

  1) 既然错误提示说明运行了secure-file-priv这个选项,不能执行load服务,那就找到MYSQL的配置文件"my.ini" 中该配置项。

  2) 配置前,先关闭mysql服务

  3) 打开my.ini,搜索关键字“secure-file-priv”找到这个选项后,直接注释掉这个选项,保存后,启动MYSQL服务

      图片 30

  4) 结果还是一样的错误。说明注释没有效果。这是怎么回事了?

    执行命令 “show variables like '%secure%'”发现原来我注释掉后,secure-file-priv的值为NULL说明禁止导入导出。        

    这说明注释掉是不行的。不删配置文件条目,那只好修改目录好了。

  5)修改路径,执行命令 “show variables like '%secure%'” 查看 , 重启MYSQL。

    图片 31
    图片 32

  6)再执行load data, 执行成功

  图片 33

  更复杂的load用法可以查看mysql手册。 到此,该问题解决。


本文由澳门新葡亰平台官网发布于数据库,转载请注明出处:日期时间与字符串的转换,位运算举例权限应用

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。