0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

5/23

Last updated at Posted at 2019-05-23

・H2ってだいたいOracleと構文同じっぽいが、 LIKE文を%つけずに書いたら部分一致になる?
  ⇒なりません。
・REPLACEを使って小文字->大文字変換しているSQLを見かけたが、これTRANSLATEじゃないの?

SELECT REPLACE('ABCDE', 'ACE', 'XXX') FROM DUAL -> ABCDE (文字列の置換)
SELECT TRANSLATE ('ABCDE', 'ACE', 'XXX') FROM DUAL -> XBXDX (1文字ずつの置換)

・バリデーション

数値チェック

TestForm.java
  // Nullはチェックしない,文字列の場合型変換例外

 // 小数/整数依らず使用可能。Stringはダメ。
  @Min(10) // 9以下でエラー
  private Double number; 
  
  @Max(10) // 11以上でエラー
  private Double number; 
  
  @Range(min=10, max=20) // 9以下または21以上でエラー
  private Double number;
	
  @Digits(integer=2, fraction = 4) // 整数部が3桁以上または小数部が5桁以上でエラー
  private Double number;
  @Digits(integer=2, fraction = 0) // 整数部が3桁以上または小数部が1桁以上でエラー
  private Double number;

文字列チェック

TestForm.java
  // Nullはチェックしない,文字列の場合型変換例外)

  // 全角文字の場合チェックが発生しない。
  @Size(min=2,max=4) // 1桁以下または5桁以上でエラー
  private String text;

  // 全角文字も1文字1カウントでチェックされる。
  @Length(min=2, max=4) // 1桁以下または5桁以上でエラー


  書くの疲れた。(´・ω・`)
  @NotNull : Nullでないこと
@NotEmpty : Null or 空白でない
@NotBlank : null or 空白 or スペースのみでない


"デフォルトの場合FormのパラメタがStringの場合,
リクエスト時に空白が設定されてしまうため
入力時のみ,5文字以上でエラーとするには
空白Nullの変換処理が必要
InitBinderを付けるとHandlerメソッド呼び出し前に呼ばれる
@InitBinder
public void initBinder(WebDataBinder binder) {
 binder.registerCustomEditor (String.class, new   StringTrimmerEditor(true));

}


■参考サイト
https://docs.oracle.com/javase/jp/7/api/java/util/regex/Pattern.html#ucc

全角や半角の文字一覧
https://junk-blog.com/font_list/

SJIS, UTF8コード一覧表
http://ash.jp/code/unitbl21.htm

UTF-8コード一覧表
http://orange-factory.com/sample/utf8/code3/e3.html#Katakana

カタカナの領域とは
http://pentan.info/doc/unicode_list.html

★全角カナ @Pattern(regexp = "^[ァ-タダ-ヶー]+$")
 ⇒ タとダが非連続なのはUTF-8の文字コード上で連続していないから

★全角文字(半角以外) @Pattern(regexp = ^[^ -~。-゚]+$)
 ⇒ 半角英数字,半角記号,半角カナ以外の連続文字列

⇒ そういえば全角ひらがなってないんだね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?