【发布时间】: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
下面的 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
hibernate hql 还支持一个叫做upper()的函数
见:http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html
【讨论】:
您可以在代码中计算LANG_DE 的值并传递该值以进行更新吗?
【讨论】:
似乎我只需要用子字符串替换左右,用长度替换 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)
【讨论】: