• Oracle中的CHAR类型


    Oracle中char(20)类型的数据,在通过参数对比的时候会需要在右边填充。见以下代码:

            string gzcode;
            string sqlStr = "SELECT GZCODE FROM TEST.TB_PUSER WHERE ID = :gzh";
            OracleCommand cmd = new OracleCommand(sqlStr);
            string t="00001";
            t=t.PadRight(20,' '); //在右边填充空格,使字符串长为20
            cmd.Parameters.AddWithValue(":gzh", t);
          
            using (OracleConnection conn = new OracleConnection(CDbop.DBConnectionString))
            {
                cmd.Connection = conn;
                conn.Open();
                gzcode = cmd.ExecuteOracleScalar().ToString();
            }

    没有红色那一句的时候,检索不到数据。但有一点非常之“神奇”,如果把SQL语句直接写成sqlStr="SELECT GZCODE FROM TEST.TB_PUSER WHERE ID = '00001'";倒是可以正常检索出数据,猜测是VS查询中过滤掉了字段中的尾空格。但是,一旦使用参数,位数就必须确定。

  • 相关阅读:
    Balanced Number [ZOJ 3416]
    动态树
    Jason的特殊爱好 [FZU 2113]
    Raney引理
    Tri Tiling [POJ 2663]
    糖尿病的虾青素+胰岛素疗法 (转)
    JAVASCRIPT 开发工具:aptana ,WebStorm
    众志和达,英文SOUL 存储与数据安全提供商
    健身音乐及其它
    nodejs + CompoundJS 资源
  • 原文地址:https://www.cnblogs.com/eugenewu0808/p/1202389.html
Copyright © 2020-2023  润新知