--这样可以吗?
EXEC master..xp_cmdshell 'bcp "select CHAR(13)+char(10)+rtrim(ltrim("0"))+space(1)+"111"" queryout c:\miClinTemp.Dat -c -Sboy01 -Usa -P'

解决方案 »

  1.   

    didoleo(冷月无声)方法报错:
    Error = [Microsoft][ODBC SQL Server Driver]函数序列错误
      

  2.   

    --那你
    EXEC master..xp_cmdshell 'bcp "select CHAR(13)+char(10)+rtrim(ltrim("0"))+" 111"" queryout c:\miClinTemp.Dat -c -Sboy01 -Usa -P'
      

  3.   

    我的意思是上面的命令不要换行写,你的char(13)+char(10)照样写,另外,用+号来连接,不要用','
      

  4.   

    我就晕,这样竟然可以
    EXEC master..xp_cmdshell 'bcp "select CHAR(13)+char(10)+rtrim(ltrim("0"))+space(1)+''111''" queryout c:\miClinTemp.Dat -c -Sboy01 -Usa -P'结果:0 111
    我只把""111"" 改成 ''111''就OK了哈哈
      

  5.   

    这是你前面的写法
    rtrim(ltrim("0")),"111"" 
    这是你后面的写法
    rtrim(ltrim("0"))+space(1)+''111''"
      

  6.   

    但是为什么
    select len('sdfsd')
    select len('豆腐干法风')
    输出的字符长度都是5呢
    我想得出他们的实际长度啊
    5
    10
    才对啊,用什么函数啊
      

  7.   

    select datalength('sdfsd')         ->>5
    select datalength('豆腐干法风')    ->>10
      

  8.   

    select len('sdfsd')---求的是字符长度
    select datalength('豆腐干法风')---求的是字节长度
    ------------------------------------------------
    输出结果
    5
    10
    ---------------------------------------------------
      

  9.   


    -------------------------再看哈哈
    select len(space(1))
    select datalength(space(1))
    输出结果竟然是
    0
    1
    --------------------------------为何???
      

  10.   

    --还是不要用len(),将来你会碰到一个字符串里既有中文又有英文的又有数字的情况,那时len就不行了
    select datalength(space(1))
    select datalength(space(1))
      

  11.   

    EXEC master..xp_cmdshell 'bcp "select CHAR(13)+char(10)+rtrim(ltrim(''0'')),''111''" queryout c:\test.txt -c -E /t" "'
      

  12.   

    --那你
    EXEC master..xp_cmdshell 'bcp "select CHAR(13)+char(10)+rtrim(ltrim("0"))+" 111"" queryout c:\miClinTemp.Dat -c -Sboy01 -Usa -P'
      

  13.   

    哈哈,这样是可以,但是
    EXEC master..xp_cmdshell 'bcp "select cast(med_name as char(10)),num,price,cast(doctor as char(10)) from his..keshi_yibao" queryout c:\miClinTemp.txt -c -Sboy01 -Usa -P'
    输出结果:
    -------------------------------------------------
    益母草膏   2 4.4000 刘凤鸣    
    清开灵注射 5 3.4200 刘凤鸣    
    川贝枇杷糖 2 2.8000 刘凤鸣
    --------------------------------------------------
    我想导出后文本格式为:num和price两个字符串的长度都为10,长度不够10的后面补空格,
    我用cast限定med_name和doctor都可以实现,就是num和price分别为整型和MONEY型,用cast好象不行,那么num和price该用什么来限制呢