Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ถูกต้องหรือไม่ที่จะจัดเก็บ double และ date ใน VARCHAR ด้วย MySQL?


ได้ คุณสามารถจัดเก็บ double และ date ใน VARCHAR ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> จำนวน varchar(20), -> JoiningDate varchar(20) -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.96 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก เรากำลังแทรกค่า varchar double และ date -

mysql> แทรกลงในค่า DemoTable ('150.50','Oct 10,2019'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.91 วินาที)mysql> แทรกลงในค่า DemoTable ('173.45', 'Sept 11,2018');Query OK, 1 แถวได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงในค่า DemoTable ('173.90','Jan 01,2017'); Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก * จาก DemoTable;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------+--------------+| จำนวน | วันที่เข้าร่วม |+---------+-------------+| 150.50 | 10 ต.ค. 2019 || 173.45 | กันยายน 11,2018 || 173.90 | 01 ม.ค.2017 |+-------+--------------+3 แถวในชุด (0.00 วินาที)

ตอนนี้ เรากำลังจัดเก็บบันทึก VARCHAR เป็นประเภท DOUBLE และ DATE -

mysql> เลือกจำนวน+0.0 เป็น DoubleValue,str_to_date(JoiningDate,'%M %d,%Y') เป็นวันที่จาก DemoTable

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------------+-----------+| ดับเบิ้ลแวลู | วันที่ |+-------------+-----------+| 150.5 | 2019-10-10 || 173.45 | 2018-09-11 || 173.9 | 2017-01-01 |+-------------+-----------+3 แถวในชุด (0.04 วินาที)