SQL SERVER 批量修改时间由yyyy/MM/dd转为yyyy-MM-dd
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQL SERVER 批量修改时间由yyyy/MM/dd转为yyyy-MM-dd,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1974字,纯文字阅读大概需要3分钟。
内容图文
![SQL SERVER 批量修改时间由yyyy/MM/dd转为yyyy-MM-dd](/upload/InfoBanner/zyjiaocheng/869/e2b12544722f48dfb6f8d9e4379df26e.jpg)
今天需要把数据库历史数据中的日期由原来的 yyyy/MM/dd 改为 yyyy-MM-dd,用Java直接我就改好了,但是要写SQL语句居然毫无头绪。百度一番,连SQL怎么调用函数都忘掉了,太辣鸡了吧。
通过百度,大家一致都说用COVERT函数,实现的时候发现,COVERT只可以操作日期类型的数据,而数据库原来存储这个日期的类型是字符串,最后用了REPLACE函数,具体实现如下:
UPDATE table
SET column_date = (select REPLACE(column_date, '/', '-'))
WHERE *** = ***
COVERT函数也能用,但是如果需要只保存年月日的话,需要使用date类型或者varchar存储结果,否则时分秒会自动以0补充
UPDATE t_test
SET date_new = (select CONVERT(varchar(10), date_date, 120))
varchar(10)就确定只保存字符串前十位,如果需要时分秒可以设置更长的长度。具体如下图:
CONVERT() 函数
定义和用法
CONVERT() 函数是把日期转换为新数据类型的通用函数。
CONVERT() 函数可以用不同的格式显示日期/时间数据
语法
CONVERT ( data_type(length) , data_to_be_converted , style )
data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式。
参考链接:https://www.w3school.com.cn/sql/func_convert.asp
REPLACE() 函数
定义和用法
REPLACE()返回用另一个字符串值替换原字符串中出现的所有指定字符串值之后的字符串。
语法
REPLACE ( string_expression , string_pattern , string_replacement )
①string_expression是原字符串。 string_expression 可以是字符或二进制数据类型 。
②string_pattern是要查找的子字符串(指定字符串值)。 string_pattern 可以是字符或二进制数据类型 。 string_pattern 不能为空字符串 (''),不能超过页容纳的最大字节数 。
③string_replacement是替换字符串(另一个字符串值)。 string_replacement 可以是字符或二进制数据类型 。
返回值:
如果其中的一个输入参数数据类型为 nvarchar,则返回 nvarchar;否则 REPLACE 返回 varchar 。
如果任何一个参数为 NULL,则返回 NULL。
如果 string_expression 的类型不是 varchar(max) 或 nvarchar(max),则 REPLACE 将返回值截断为 8000 个字节 。 若要返回大于 8,000 字节的值,则必须将 string_expression 显式转换为大值数据类型 。
参考链接:https://www.cnblogs.com/feiyu721/p/11248839.html
内容总结
以上是互联网集市为您收集整理的SQL SERVER 批量修改时间由yyyy/MM/dd转为yyyy-MM-dd全部内容,希望文章能够帮你解决SQL SERVER 批量修改时间由yyyy/MM/dd转为yyyy-MM-dd所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。