• MSSQL转Mysql常用函数,语法等


    MSSQL转Mysql常用
    
    一、字段类型
    MSSQL                            Mysql                                备注
    "nchar"                          "char()"                             最大长度为255
    "nvarchar"                       "varchar":
    "uniqueidentifier"               "varchar(36)"                        默认值:uuid() 代表唯一值GUID
    "image"                          "mediumblob"
    "money","smallmoney"             "decimal(11,2)"
    
    二、函数
    MSSQL                            Mysql                                备注
    getdate()                        NOW()                                当前时间
    @@ROWCOUNT                       ROW_COUNT()                          影响行数
    len()                            CHAR_LENGTH()                        字符长度
    DATALENGTH()                     LENGTH()                             字节长度,mssql一个汉字2个字节,mysql一个汉字3个字节
    'Li'+'Di'                        CONCAT('Li','Di')                    字符串拼接
    CHARINDEX('zh', 'De_Zha')        INSTR('De_Zha','zh')                 查找索引,mssql和mysql参数位置调换
    CONVERT(varchar(6), '5.00')      CONVERT('5.00',CHAR)                 类型转换,mssql和mysql参数位置调换,且mysql不支持varchar
    ISNULL                           IFNULL                               判断字符串是否为空,参数一样
    DATEPART(DAY,getdate())          DAY(NOW())                           取日期的单体数据,同理有YEAR,MONTH,HOUR,WEEKDAY等等
    DATEDIFF(DAY,date1,date2)        TIMESTAMPDIFF(DAY,date1,date2)       取两个日期时间差,同理有YEAR,MONTH,HOUR,WEEK等等
    dateadd(MONTH,1,getdate())       DATE_ADD(NOW(),INTERVAL 1 MONTH)     日期增加,同理Year,DAY,Hour等,mysql日期相减函数DATE_SUB()
    identity(1,1)                    AUTO_INCREMENT                       自动增长列
    bit类型字段col            convert(col,signed)            bit类型字段mysql直接查出来会有乱码,先要转换成数字型 三、其他(mysql语句必须以;结束) MSSQL Mysql 备注 DECLARE @a VARCHAR(
    10) DECLARE a VARCHAR(10) 声明变量时,mysql不能带@符号,但是mysql可以不用declare声明变量,可以直接set @a='',默认全局变量 SELECT top 10 * FROM A SELECT * FROM A LIMIT 0,10 取前10行数据 CREATE TABLE #G1DaySum CREATE TEMPORARY TABLE `G1DaySum` 创建临时表 CREATE PROCEDURE AA(a INT, b INT output) CREATE PROCEDURE AA(IN a INT, OUT b INT) 存储过程参数格式 IF() BEGIN END IF() THEN END IF if用法 WHILE() BEGIN END WHILE() DO END WHILE while用法

    日期处理

    【SQL SERVER】日期格式化
    【MYSQL】Date和String的互相转换(DATE_FORMAT & STR_TO_DATE)

    
    
    CONVERT(varchar(21) , GETDATE(), 120 )
    to
    DATE_FORMAT(NOW(),'%Y-%m-%d %T')
    
    -- 20  '%Y-%m-%d %T'
    -- 120 '%Y-%m-%d %T'
    -- 102 '%Y-%m-%d'
    -- 111 '%Y/%m/%d'
    -- 112 '%Y%m%d'
    -- 8   '%T'
    -- 24  '%T'
    
    
    -- vs中正则替换
    
    convert(VarChar(20), max(BudgetDate),120)
    转换
    DATE_FORMAT(max(BudgetDate),'%Y/%m/%d')
    查找内容
    CONVERT(varchar(.*), (.*),120)
    替换为
    DATE_FORMAT($2,'%Y/%m/%d')
    
    convert(varchar((d*)),(.*),121)
    DATE_FORMAT($2,'%Y-%m-%d %T')
    ------------------------------------------
    MSSQL
    Convert(int,'03')
    MySQL
    Convert('03',SIGNED)
    ------------------------------------------
    dateadd(day, -1, getdate())
    转换
    DATE_ADD(NOW(),INTERVAL -1 DAY)
    正则
    dateadd(day,(.*),(.*))
    替换为
    date_add($2,interval $1 day)
    ------------------------------------------
    CAST(200.126 AS money)
    CAST(200.126 AS DECIMAL(10,2))
    
    
    

    常用语句

    
    
    -- 分页
    -- sqlserver
    select row_number() over(order by date) rnumber from ttable;
    -- mysql
    select (@rownum := @rownum + 1) rnumber from ttable,(select @rownum := 0) b order by date;
    
    -- 统计
    select sum(amt) over() as amt from ttable;
    select (@amt := @amt + amt) as amt from ttable,(@amt := 0) b 
     
  • 相关阅读:
    appium应用切换以及toast弹出框处理
    selenium元素定位方法之轴定位
    基于appium的常用元素定位方法
    基于appium的模拟单点或多点触屏操作
    app自动化测试初体验
    app自动化测试环境搭建之node+appium+ADT+MUMU模拟器
    linux的vi编辑器常用用法一览
    踩过了这些坑,你真的懂python基础吗?
    mysql分页查询
    Jenkins—Master/Slave模式
  • 原文地址:https://www.cnblogs.com/di305449473/p/10457852.html
Copyright © 2020-2023  润新知