zoukankan      html  css  js  c++  java
  • SQL Server nvarchar(max)

    平时接触都是float类型、number类型转化成nvarchar类型。用cast,convert就可以。

    今天把一个excel导入到SQL Server 2012中,处理完后复制到excel里,格式都乱了;

    于是想把tab键、换行符等替换掉的,结果看到一字段ntext类型,于是用replace试下,结果不行;

    再次验证了官方说明上replace函数的使用的正确性LY6DR3ISJE0)6K)L)]~VIZK

    image

    官方上说的很明确了,如果string_expression的类型不是varchar(max)或nvarchar(max),则REPLACE将截断返回值,截断长度为8,000字节。

    若要返回大于8,000字节的值,则必须将string_expression显示转换为大值数据类型。

    先说明我的那字段真大于8000,而且我真的使用convert(nvarchar(8000),column_name)转换的,结果失败;好吧,我承认我错了,我该仔细看报错说明的,我把8000改为4000就OK了。

    image

    但是,但是,我要说一点,convert(nvarchar(4000),column_name)这个绝对有截断的。

    重点是下面:

    convert(nvarchar(max),column_name)

    这样竟然没报错(开始使用convert(nvarchar(8000),column_name)报错的,后来我找了个max),我很吃惊!我不知道有没有截断哦,好像这么多内容,excel的单元格不显示全的。

    max 指示最大存储大小是 2^31-1 个字节

    image

    再次标注下:

    char(9) 水平制表符
    char(10)换行键
    char(13)回车键

  • 相关阅读:
    javascript运行机制之执行顺序详解
    js常见错误类型
    原生JS添加类名 删除类名
    innerHTML、innerText和outerHTML、outerText的区别
    cmd应用基础教程
    ASIC中的一些库和文件类型
    VCS中的覆盖率分析
    NC_Verilog中的工具ICC
    UVM中的sequence使用(一)
    UVM中的regmodel建模(三)
  • 原文地址:https://www.cnblogs.com/cnmarkao/p/6019443.html
Copyright © 2011-2022 走看看