在Navicat 中给Mysql中的某字段添加前缀00

第一次分享心得,希望大家多多关注。

我遇到的情况是这样的,在Navicat中某表的varchar字段内容长度不够5的在内容前面添加‘0’;如字段内容是 101 我就要改成00101;

其中有2个难点:1.判断字段内容的长度(我认知不够的原因) 2.给字段内容添加前缀;

之前的错误sql是

update base_sf set diy_code=‘00’+diy_code

where pk in (select pk from base_sf where LENGTH(diy_code)=3)

这样在Navicat中diy_code被当成数值,所以一直不能成功。

正确的sql是

update base_sf set diy_code=concat(‘0‘,diy_code)

where pk in (select * from (select pk from base_sf where LENGTH(diy_code)=4) tmp)

时间: 2024-11-03 04:43:33

在Navicat 中给Mysql中的某字段添加前缀00的相关文章

hive 中与mysql 中函数同名不同意的方法记录

max 函数 在hive中max函数是一个聚合函数,所以,而且返回值是double ,而且后面必须跟group by ,这个和mysql差异很大 Built-in Aggregate Functions (UDAF) DOUBLEmax(col)Returns the maximum value of the column in the group. mysql 中 Returns the maximum value of expr. MAX() may take a string argume

myeclispe中向mysql中插入中文数据出现??问题解决办法

或许很多人会出现??这种令人头痛的mysql的中文乱码问题:解决如下: 1.先对于新建的数据库要设置默认的字符集为UTF-8 create database mydb default character set utf8 collate utf8_general_ci; 2.然后对于想对应的表进行设置默认字符集 CREATE TABLE IF NOT EXISTS `mydb` ( `username` varchar(64) NOT NULL, `userid` int(11) NOT NUL

bash中使用mysql中的update命令

mysql -uroot -ppasswd -e "update tbadmin set sPassword ='************' where sUserName='admin'" database mysql客户端命令行有一个参数是 -e,即运行制定SQL命令.例如 mysql -uxx -pxx -e"select * from table" database

oracle中与mysql中的命令 show databases, show tables, desc table类似的命令集

1 怎样执行一个sql脚本文件,这个脚本文件写了一系列的sql语句集,比如sql.sql 放在D:\MyEclipse 8.6\Workspaces\OASystem\WebRoot\sql.sql下 >cd D:\MyEclipse 8.6\Workspaces\OASystem\WebRoot\ >>sqlplus >>@ sql.sql; 2 怎样查看刚刚创建的表 SQL> select table_name from user_tables; SQL Plus

利用sqoop从 hive中往mysql中导入表出现的问题

这个错误的原因是指定Hive中表字段之间使用的分隔符错误,供Sqoop读取解析不正确.如果是由hive执行mapreduce操作汇总的结果,默认的分隔符是 '\001',否则如果是从HDFS文件导入的则分隔符则应该是'\t'.此处我是hive执行mapreduce分析汇总的结果,所以默认的分隔是'\001'.Sqoop命令修改如下,指定分隔符: [[email protected] ~]$ sqoop-export --connect jdbc:mysql://secondmgt:3306/tr

在ubuntu14.04 64位虚拟机中安装mysql

因为在win10 系统上手贱的将mysql卸载掉了之后有个插件一直无法正常删除导致只能将mysql装到ubuntu虚拟机上, 宝宝心里都是累啊,所以记录下来自己的安装过程2333 命令行操作: "sudo apt-get update"-->回车-->"输入root用户的密码"-->回车 输入"sudo apt-get install mysql-server mysql-client"-->回车-->输入"

SQLServer 中实现类似MySQL中的group_concat函数的功能

SQLServer中没有MySQL中的group_concat函数,可以把分组的数据连接在一起. 后在网上查找,找到了可以实现此功能的方法,特此记录下. SELECT a, stuff((SELECT ',' + b FROM #tb WHERE a = t.a FOR xml path('')), 1, 1, '' )AS b from  # tb AS t GROUP BY a; 先对a列进行分组,对分组中的b以Xml形式输出,再使用stuff将开关多出的,删掉. 具体实现参考:http:/

关于MySql中数据库、表的操作以及增删改查等一些SQL语句注意事项

(1)怎么在cmd中复制粘贴内容? 参考:http://jingyan.baidu.com/article/93f9803fd3a4dde0e46f55f5.html (2)怎么打开进入和退出数据库? --其中-h是主机名,可以写IP地址127.0.0.1,回车后,提示输入密码即可. mysql -h localhost -u root -p --退出数据库是exit或者quit或者CTRL+C. (3)在dos中以及mysql中修改mysql的root密码 --在dos中,即不需要进入mysq

利用Navicat从mysql导表到另一台机器的mysql中

碰到一个需要把数据表从本地mysql导入到服务器的mysql中的问题,在网上搜了下,没有发现说的很清楚的操作,很多操作都是利用命令行来实现,自己研究了一下,发现Navicat有自己的导入导出功能,可以比较容易的实现该功能. 目标:从A机器的mysql的数据库a中导入几十张表(本身数据库a有几百张表)到 B机器的mysql的b数据库中.(这里说的mysql的所有操作都是在Navicat中进行) 第一步:在A机器上的mysql中新建一个数据库c,直接在Navicat中按住ctrl选择要导出的所有表,