【问题标题】:How to implement capitalization in nHibernate?如何在 nHibernate 中实现大写?
【发布时间】:2011-01-14 10:24:30
【问题描述】:

下面的 MS-SQL 更新脚本将单词的第一个字母大写。
这个语句在 nHibernate HQL 中看起来如何(标准也可以)?

UPDATE T_Example  
SET LANG_DE = UPPER(LEFT(LANG_DE, 1)) + RIGHT(LANG_DE, LEN(LANG_DE) - 1) 

【问题讨论】:

    标签: .net sql nhibernate hibernate syntax


    【解决方案1】:

    hibernate hql 还支持一个叫做upper()的函数

    见:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html

    【讨论】:

      【解决方案2】:

      您可以在代码中计算LANG_DE 的值并传递该值以进行更新吗?

      【讨论】:

      • 当然可以,但我不想写出由此产生的开销。
      【解决方案3】:

      似乎我只需要用子字符串替换左右,用长度替换 len。
      看起来像这样:

      UPDATE T_Example  
          SET MT_Lang_DE = upper(substring(MT_Lang_DE, 1, 1)) + substring(lower(MT_Lang_DE), 2, length(MT_Lang_DE)-1)
      

      【讨论】:

        猜你喜欢
        • 2012-02-10
        • 2011-12-23
        • 1970-01-01
        • 1970-01-01
        • 2011-02-01
        • 1970-01-01
        • 2015-08-04
        • 2017-09-27
        • 1970-01-01
        相关资源
        最近更新 更多